Data Residency & Security

Where your data lives, what we store, what we can read, and what we mathematically cannot.

Last updated: 2026-02-17

The Short Answer

Governance enforcement uses metadata only. Your plaintext prompts, completions, and API keys never reach our servers. If you enable encrypted transcript storage, we store ciphertext we mathematically cannot decrypt. Your Account Key never leaves your browser. There is no key escrow. There is no backdoor. If you lose your Account Key, encrypted transcripts are unrecoverable — that is the proof.


Infrastructure

Component Provider Region Details
API Server Render Oregon, US (us-west-2) Rust application server. Handles stamp protocol, chain verification, agent registry.
Database Render Managed Postgres Oregon, US (us-west-2) Agent registry, audit log, encrypted payload blobs, wrapped encryption keys. Encrypted at rest (AES-256). Automated daily backups with 7-day retention.
CDN / Edge Cloudflare Global edge network TLS termination, DDoS protection. No caching of API responses. All API traffic is pass-through.
Dashboard GoDaddy Hosting US Static HTML/JS. No server-side processing. All decryption happens in your browser via Web Crypto API.
D3cipher Gateway Customer-hosted Your infrastructure Docker container deployed in your network. Your traffic never passes through D3cipher infrastructure.

Data Residency Limitations

All D3cipher cloud infrastructure is currently hosted in the United States (Oregon). We do not currently offer EU, UK, APAC, or other regional hosting options. If your data residency requirements mandate storage outside the US, please contact us to discuss on-premise or regional deployment options.

Important context: If you use the D3cipher Gateway, your plaintext data never leaves your infrastructure. Only cryptographic metadata and encrypted blobs (which we cannot decrypt) are transmitted to US-hosted servers. For many GDPR assessments, encrypted data where the processor cannot access the plaintext may qualify for different treatment than unencrypted personal data transfers. Consult your Data Protection Officer for your specific situation.


What We Store

Data Category Stored? Can D3cipher Read It? Details
Agent ID Yes Yes Unique identifier for each agent (e.g., customer-support-bot). Required for governance.
Task type Yes Yes Action category (e.g., CHATCOMPLETION, EMBEDDING). No content.
Timestamp Yes Yes When each action occurred. Used for velocity monitoring and audit trail.
Token count Yes Yes Number of tokens consumed per request. Used for budget enforcement.
Sequence number Yes Yes Monotonic counter per agent. Proves ordering.
Chain hashes Yes Yes SHA-256 hashes linking each entry to the previous. Proves tamper resistance.
Payload hash Yes Yes SHA-256 digest of request/response body. Proves content binding. Not the content itself.
State matrix Yes Yes 2x2 integer matrix proving task-type sequence integrity. Content-independent.
Encrypted transcripts Optional No AES-256-GCM encrypted request/response bodies. Only stored if you provide an Account Key. D3cipher cannot decrypt these. See encryption details below.
Wrapped DEK Optional No Data Encryption Key wrapped (encrypted) with your Account Key. Useless without the Account Key to unwrap it.

What We Never Store

Data Where It Lives
Your AI provider API keys (OpenAI, Anthropic, etc.) Your infrastructure only. Passed through the gateway directly to the provider.
Plaintext prompts and completions Your infrastructure only. Never transmitted to D3cipher in readable form.
Your Account Key Your browser or password manager. Never transmitted to D3cipher. No recovery mechanism.
Customer PII or business data Your infrastructure only. D3cipher processes metadata, not content.

Encryption Architecture

When encrypted transcript storage is enabled (by providing an Account Key), a three-layer key hierarchy ensures separation of duties:

  Account Key (you hold this, we don't)
      |
      v
  KEK = HKDF-SHA256(Account Key, salt = Agent ID)
      |
      v
  DEK = random 256-bit key (generated once per agent)
      |                       Wrapped DEK stored on server
      |                       (useless without Account Key)
      v
  Blob Key = HKDF-SHA256(DEK, stamp_hash, payload_hash)
      |
      v
  AES-256-GCM(Blob Key, plaintext) = ciphertext
                                       Stored on server
                                       (useless without DEK,
                                        which is useless without
                                        Account Key)
                

Three independent values are required to decrypt any single transcript entry: the DEK (derived from your Account Key), the stamp hash (from the chain), and the payload hash (from the content). Compromise of any one value does not expose content. All three must be present.

No Key Escrow — Verifiable

D3cipher has no copy of your Account Key. There is no recovery mechanism, no master key, no backdoor. If you lose your Account Key, encrypted transcripts are permanently unrecoverable. This is by design — it is the cryptographic proof that no one at D3cipher, no subpoena, and no data breach can expose your transcript content. The encryption uses standard primitives (HKDF-SHA256, AES-256-GCM) that any cryptographer can audit independently.


Data Flow

  YOUR INFRASTRUCTURE                          D3CIPHER CLOUD
  ==================                           ==============

  Agent                                        LockStock API
    |                                          (Oregon, US)
    |--- request ---> D3cipher Gateway             |
    |                   |                          |
    |                   |-- stamp ----------------->|  Metadata only:
    |                   |   (agent_id, task,        |  agent_id, task,
    |                   |    sequence, token_count,  |  sequence, hashes,
    |                   |    payload_hash)           |  token count
    |                   |                          |
    |                   |-- encrypted blob -------->|  Ciphertext:
    |                   |   (AES-256-GCM,           |  D3cipher CANNOT
    |                   |    only if Account Key     |  decrypt this
    |                   |    is configured)          |
    |                   |                          |
    |                   |--- request ------------> AI Provider
    |                   |<-- response ------------ (OpenAI, etc.)
    |                   |                          |
    |<-- response ------|                          |
    |                                              |
                                                   |
  Your Browser                                     |
    |                                              |
    |-- Account Key (never sent) -----> [stays in browser]
    |                                              |
    |-- fetch encrypted blob <--------------------|
    |-- decrypt in browser (Web Crypto API)        |
    |-- view transcript                            |
                

Network & Transport Security

Control Implementation
Transport encryption TLS 1.2+ on all connections. TLS 1.3 preferred. Enforced by Cloudflare edge.
Encryption at rest Postgres: AES-256 disk encryption (Render managed). Payload blobs: AES-256-GCM application-layer encryption (customer-controlled key).
Authentication Bearer token (API key) on all API requests. Per-tenant isolation enforced server-side. Ownership verification on key management endpoints.
DDoS protection Cloudflare enterprise-grade DDoS mitigation on all endpoints.
CORS Restricted to d3cipher.ai origin. Dashboard-to-API requests only from authorized origins.

Data Retention & Deletion

Data Type Retention Deletion
Chain stamps (audit trail) Retained for the lifetime of the agent. Immutable by design — deletion would break chain integrity. Agent revocation removes the agent from active use. Chain data retained for audit purposes. Full deletion available on request per data processing agreement.
Encrypted payload blobs Retained for the lifetime of the agent unless otherwise configured. Blobs can be deleted independently of chain stamps without breaking chain integrity. Available on request.
Account data Retained while account is active. Account deletion removes all associated data. Contact hello@d3cipher.ai.

Subprocessors

Subprocessor Purpose Data Processed Location
Render Application hosting, managed Postgres All D3cipher cloud data (metadata + encrypted blobs) Oregon, US
Cloudflare CDN, TLS termination, DDoS protection API traffic in transit (TLS-encrypted) Global edge network
GoDaddy Static website hosting No customer data. Dashboard is static HTML/JS. US

Compliance Status

Certification / Framework Status
SOC 2 Type II In preparation. Target: Q3 2026. Contact us for current security questionnaire responses.
ISO 27001 Planned. Timeline TBD.
HIPAA Architecture supports HIPAA requirements (encryption, audit controls, access controls). BAA available on request for Guard and Enterprise tiers.
GDPR Data Processing Agreement available on request. Note: all infrastructure is currently US-hosted. Encrypted transcript storage where D3cipher cannot access plaintext may qualify for different transfer assessment. Consult your DPO.
PCI DSS D3cipher does not process, store, or transmit cardholder data. If your AI agents process payment information, D3cipher stores only encrypted blobs it cannot decrypt.
Penetration Testing Planned. Report will be available under NDA upon completion.

Questions

For security questionnaires, data processing agreements, or specific compliance inquiries: hello@d3cipher.ai

Related