Skip to content

Security and Privacy

Steven Enamakel edited this page Jul 5, 2026 · 1 revision

Security And Privacy

TinyJuice handles model-facing context. Treat every input as potentially sensitive.

Sensitive Inputs

Inputs may contain:

  • prompts
  • user messages
  • tool output
  • file contents
  • source code
  • credentials
  • database rows
  • logs with secrets
  • private URLs
  • conversation identifiers

TinyJuice should not log raw content. Prefer metadata: byte counts, token estimates, content kind, compressor kind, rule ID, profile, and status.

Lossy Output

Lossy compaction must be explicit. A lossy compressor should return CompressOutput::lossy, and the router should only emit it when the exact original is retained or policy says a lossy view is safe.

Current router policy requires CCR for lossy output.

CCR Store

CCR stores exact originals. That means it is useful and sensitive.

Rules:

  • configure memory caps
  • configure TTL where appropriate
  • place disk tier roots under host-controlled workspaces
  • validate tokens before disk access
  • never expose arbitrary filesystem reads through retrieval
  • never write CCR tokens into public logs with associated raw content

Recovery Tools

tokenjuice_retrieve returns exact original content. It should follow the host runtime's normal tool authorization and audit behavior. TinyJuice itself only provides marker parsing and store retrieval helpers.

Analytics

Analytics records should include metadata only:

  • IDs
  • timestamps
  • algorithm labels
  • content kind
  • status
  • bytes and token estimates
  • latency
  • lossy/CCR flags
  • source and profile

Do not include raw prompt, context, tool output, file contents, or credentials.

Reports And Docs

Do not claim exact savings percentages, quality retention, or safety guarantees without benchmark fixtures. The current benchmark harness measures throughput for hot paths, not retained-fact quality.

Agent Notes

Before changing privacy-sensitive code, inspect:

  • src/cache/store.rs
  • src/cache/marker.rs
  • src/tool_integration.rs
  • src/compress.rs
  • SECURITY.md

When in doubt, pass through unchanged rather than producing a smaller but irrecoverable or misleading view.

Clone this wiki locally