Security

How TOLVYN protects your data and your provider keys.

Encryption

At rest: all data is encrypted with AES-256-GCM, including the ledger, attribution metadata, budgets, alerts, and all sub-systems. Encryption keys are managed via our cloud provider's KMS with automatic rotation.

In transit: TLS 1.3 only. Older protocols are disabled at the load balancer. HSTS is enabled site-wide with a one-year max-age.

Tenant isolation

Postgres Row-Level Security policies are enforced on every table that holds tenant data. Every query (including via the dashboard, API, CLI, and the proxy itself) executes inside a session with SET app.tenant_id = $1, and RLS rejects cross-tenant access at the database layer. No application-level check, no opportunity for a forgotten WHERE tenant_id = ? to leak data.

Provider keys

Your OpenAI, Anthropic, Google, and DeepSeek keys are encrypted at rest with AES-256-GCM under a tenant-specific subkey. Keys are never logged, never returned in API responses (only redacted prefixes for UI display), and only ever decrypted in-memory during proxy request processing.

Ledger integrity

Every ledger record is hash-chained (SHA-256) and signed with HMAC-SHA256 using a server-side signing key. Sequence numbers are allocated under a Postgres advisory lock per tenant — no gaps, no duplicates, even under concurrent writes. Verify any record range with tolvyn ledger verify.

What we never store

  • Prompt content
  • Response content
  • Any PII contained in prompts or responses
  • Provider API keys in plaintext

We capture metadata only: model, token counts, cost, latency, status, and your attribution tags. That's the minimum needed for financial governance, and it's the maximum we record.

Backup & recovery

Daily encrypted snapshots of all tenant data, retained for 30 days. Point-in-time recovery available for the most recent 7 days. Backups are stored in a separate availability zone from the primary database.

Compliance

TOLVYN is not SOC 2 certified yet. We're targeting SOC 2 Type I in late 2026. We're happy to walk Enterprise customers through our controls in detail ahead of certification.

Sub-processors

  • Cloud infrastructure — primary hosting and managed database (India, Mumbai region).
  • Cloudflare — CDN, DNS, edge security.
  • Sentry — error tracking. We scrub PII before send and disable breadcrumb capture in proxy code paths.

That's the full list. We will email you 30 days before adding any new sub-processor that handles tenant data.

Responsible disclosure

Found a security issue? Email [email protected]. We commit to acknowledging within 24 hours and providing a substantive response (fix timeline or non-issue explanation) within 5 business days. We do not currently run a paid bug bounty but we publicly credit reporters.

Scope

In scope: tolvyn.io, app.tolvyn.io, api.tolvyn.io, proxy.tolvyn.io, docs.tolvyn.io, and the TOLVYN CLI and SDKs.

Out of scope: vulnerabilities in our third-party providers themselves — Cloudflare, Razorpay, GitBook and Sentry — please report those to them directly. Our own configuration on those platforms is in scope, including the headers tolvyn.io serves and the content we publish on docs.tolvyn.io. Also out of scope: denial-of-service and volumetric testing; social engineering of our team or our customers; and physical attacks.

Please don't: access, modify or retain another tenant's data — stop as soon as you can demonstrate access, and tell us what you saw; run automated scanners against proxy.tolvyn.io, which forwards to paid model providers and bills real money on every request; degrade service for anyone else; or publish before we have responded within the window above.

Security acknowledgments

With thanks to the researchers who have responsibly disclosed security issues to us: