Data Classification
HoneyHive processes three categories of data. Understanding the classification determines where each category is stored and how it crosses the CP/DP boundary.PII handling: Application data may contain PII if your LLM application processes personal information. HoneyHive provides SDK-level PII redaction so you can strip sensitive fields before they reach the Data Plane. See Tracing Concepts — Handling Sensitive Data for configuration details, and PII Controls below for how the architecture limits PII propagation.
Control Plane and Data Plane Boundary
The CP and DP are logically independent — they run on separate databases, separate message queues, and separate compute. Even in a self-hosted deployment where both are within your infrastructure, the boundary is enforced to ensure defense-in-depth and to support future migration to dedicated or hybrid hosting models.What crosses the boundary
What stays within each plane
Data Flow
Ingestion path
- Your application SDK sends traces to the DP Ingestion Service via HTTPS. The service acknowledges receipt immediately to minimize client latency.
- The Ingestion Service immediately writes raw trace payloads (including LLM inputs/outputs) to DP S3 to ensure zero data loss, then publishes telemetry metadata to the CP NATS queue and evaluation events to the DP NATS queue.
- The CP Writer Service consumes metadata from CP NATS, enriches it (session linking, metadata inheritance), and batch-writes to ClickHouse for dashboards, charts, and alerting.
- Failed write batches are retried with exponential backoff; persistently failing events go to a dead letter queue on S3.
Evaluation path
- The DP Evaluation Service consumes events from the DP NATS queue and executes configured evaluators (Python-based, LLM-based, or composite).
- Evaluation scores (numeric results, pass/fail, labels) are published to the CP NATS queue as telemetry metadata.
- The Writer Service persists scores to ClickHouse alongside the original trace metadata.
Authentication path
The Data Plane verifies API keys and user tokens using the CP’s JWKS endpoint. No shared database or credentials exist between the planes.Data Stores
Data Plane stores
Control Plane stores
By default, ClickHouse runs as a stateful workload on EKS. For customers who lack internal ClickHouse expertise, HoneyHive recommends either a HoneyHive-managed Control Plane or a managed ClickHouse deployment in the customer’s environment. See the infrastructure requirements documentation for specifics on supported topologies.
PII Controls
HoneyHive provides multiple layers to control how personally identifiable information (PII) is handled:SDK-level redaction
The SDK supports schema-based PII filters that strip or mask sensitive fields before data leaves your application. Configure redaction rules to remove names, emails, phone numbers, or any custom fields from trace payloads at the source. For background on how tracing captures data and where to apply redaction, see Tracing Concepts.Data Plane boundary
Raw trace payloads (which may contain PII) are stored exclusively in the Data Plane’s S3. Only telemetry metadata (durations, counts, scores) crosses the boundary to the Control Plane. This means even if PII reaches the Data Plane, it does not propagate to the analytics layer.Encryption
All data at rest is encrypted with customer-managed KMS keys. All data in transit uses TLS 1.2+. See Security for full encryption details.Retention Controls
Data retention is customer-configurable at multiple levels:Deletion and Purge
Project-level archival
Deleting a project archives it — data is retained and can be recovered if needed. If the team is confident the original data should be permanently removed, they must purge the S3 store and ClickHouse index using escalated infrastructure privileges. This two-step design protects against accidental data loss.Record-level deletion
HoneyHive is designed as an audit trail, so individual record deletion is not exposed through the standard API or UI. Deletions require infrastructure-level escalated privileges to ensure data integrity and auditability.Infrastructure-level purge
For complete data removal (e.g., decommissioning a deployment):- S3: Delete all objects and the bucket itself, or apply an immediate-expiration lifecycle rule
- RDS: Delete the database instance and all automated backups
- ClickHouse: Drop the database or delete the EKS persistent volumes
- EKS: Tear down the cluster via Terraform destroy

