Skip to content

Privacy & Data

Honeybee is built for teams running AI agents on sensitive codebases. Privacy is not an afterthought — it’s a design constraint that shapes every data decision.

  1. Opt-in everything: No data leaves your machine without explicit configuration
  2. Structural metadata only: Cloud telemetry captures counts, scores, and latency — never content
  3. Local-first audit: Full audit trail always available locally, cloud is optional
  4. No phone home: Open source packages (incubator, carapace, CLI, SDK) never contact any server by default

Regardless of configuration, Honeybee components never collect or transmit:

  • LLM prompts or responses
  • File contents or diffs
  • API keys, tokens, or credentials
  • Source code
  • User input text
  • Agent conversation history
  • Personal information

Open source packages (incubator, carapace, CLI, SDK)

Section titled “Open source packages (incubator, carapace, CLI, SDK)”

Default: OFF. No telemetry is sent unless you explicitly set two environment variables:

Terminal window
export TELEMETRY_ENDPOINT=https://your-endpoint.example.com/v1/telemetry
export TELEMETRY_API_KEY=your-key

Without both variables set, all telemetry data stays local in JSONL files at ~/.honeyb/projects/<slug>/telemetry/.

The local JSONL files record structural metadata about agent execution:

FieldExamplePurpose
Event typellm_callWhat happened
Timestamp2026-02-15T10:30:00ZWhen
Model nameclaude-sonnetWhich model
Token counts500 prompt, 200 completionUsage tracking
Latency1500msPerformance
Cost estimate$0.003Budget tracking
Tool nameread_fileWhich tool was called
Scan score5Carapace threat score
Scan actionPASSWhat Carapace decided
Exit reasondoneWhy agent stopped

Note: tool arguments are not recorded. The telemetry captures that read_file was called, not what file was read.

When cloud telemetry is enabled, only 5-minute aggregated summaries are sent:

{
"period": "2026-02-15T10:30:00Z/2026-02-15T10:35:00Z",
"counts": { "llm_call": 42, "tool_call": 18 },
"totalPromptTokens": 21000,
"totalCompletionTokens": 8400,
"totalCostUsd": 0.15,
"avgLatencyMs": 1200,
"errorRate": 0.02,
"guardBlocks": 0
}

Individual events are never sent to the cloud. The aggregation runs locally, and only the summary crosses the network.

When using Colony (cloud-hosted hives), additional data is stored:

DataWhereRetentionPurpose
Hive configurationD1Until deletedRun your hive
Provider API keysD1 (encrypted)Until deletedAuthenticate to LLM providers
Agent execution logsDurable ObjectSession lifetimeOrchestration
Monthly usageD112 monthsBilling
Audit events (if enabled)R2 + D1ConfigurableCompliance

Colony processes LLM calls on your behalf (forwarding to providers like Cerebras, Groq, Anthropic). Prompt content passes through Colony to reach the provider but is not stored unless you explicitly enable full audit mode.

The Carapace scanner runs entirely locally. When you scan text:

  1. Text is analyzed by the pattern matching engine (in-process, synchronous)
  2. Results (score, findings, action) are returned to the caller
  3. Nothing is sent anywhere

The hosted Carapace dashboard (coming) will receive scan metadata (scores, finding categories, timestamps) but never the scanned text itself.

The eBPF firewall captures SSL plaintext at the kernel level. This data:

  • Stays in local memory (ring buffer → Node.js process)
  • Is scanned by the local Carapace instance
  • Is written to local JSONL audit files (if Nectar is enabled)
  • Is never transmitted to any remote service unless explicitly configured
  • Local secrets: ~/.secrets/*.env files with 0600 permissions
  • Cloud secrets: Stored in Colony D1 with encryption at rest (Cloudflare managed)
  • Session tokens: 48-character hex, generated per-session, not persisted
  • Auth tokens: Stored in ~/.honeyb/auth/<profile>.json with 0600 permissions

Secrets are never logged, never included in error messages, and never transmitted in telemetry.

All scanning, telemetry, and audit code is open source:

You can audit exactly what data is collected and where it goes.