Back to blog
·8 min·BitAtlas Team

Client-Side Encryption Meets Key Escrow: Architectures That Satisfy Both Security and Compliance

How enterprises balance true client-side encryption with legal hold and key escrow requirements — technical architectures that satisfy both security teams and compliance officers.

client-side encryptionkey escrowcomplianceFISAlawful accessenterprise

Enterprise security teams love the promise of client-side encryption: if the server never holds a plaintext key, no breach, no subpoena, no rogue administrator can expose your users' data. But then legal counsel walks in and asks: "What happens when we get a litigation hold notice on an employee's files? How do we respond to a regulator audit? What do we do if HR needs to access a departing executive's email archive?"

These are not hypothetical edge cases. They are routine enterprise operations, and they create a genuine architectural tension. This post maps out how organizations resolve it — without abandoning the security guarantees that made client-side encryption worth deploying in the first place.

Why the Tension Is Real

True client-side encryption means keys are derived on the user's device, never transmitted to the server in plaintext, and the storage provider is mathematically incapable of decrypting the content. That last clause is precisely the problem for legal hold.

Legal hold (also called litigation hold or e-discovery preservation) requires an organization to preserve and produce electronically stored information (ESI) in response to anticipated or active litigation. Under US Federal Rule of Civil Procedure 34 and equivalent EU regulations, failure to produce responsive documents can result in sanctions, adverse inference instructions, or default judgment.

If an employee's files are encrypted with a key only that employee controls, and that employee has left the company — or worse, is the subject of the investigation — production becomes technically impossible. Courts have little sympathy for "the encryption made us do it." Obstruction of justice statutes do not have a cryptography exception.

The same problem appears under FISA Section 702, the EU's lawful access debates, HIPAA audit requirements, and SOX record-keeping mandates. Each regime presupposes that someone authorized can access the data when legally required to do so.

Architecture 1: Split-Key Escrow

The most common enterprise solution is split-key escrow, sometimes called M-of-N key recovery. The core idea: the user's data encryption key (DEK) is never stored in a recoverable form on the server, but an encrypted copy of the DEK is escrowed with a separate key that the organization controls — not the storage provider.

Here is the flow:

  1. User's device generates a DEK and encrypts data locally.
  2. The DEK is wrapped (encrypted) with the user's personal key (derived from their password or passkey).
  3. The DEK is also wrapped with an enterprise recovery key (ERK) — a public key whose private counterpart is held in a Hardware Security Module (HSM) controlled by the enterprise, not the storage vendor.
  4. Both wrapped copies are stored server-side alongside the encrypted data.

When legal hold is triggered, the enterprise's authorized personnel use the ERK private key (from the HSM) to unwrap the DEK for the targeted user's files, produce the plaintext, and deliver it to counsel or regulators. The storage vendor never had the DEK. The user's personal key is not compromised. Only the escrowed copy — wrapped under the enterprise key — is used.

The critical implementation detail: the ERK private key must itself be subject to access controls, audit logging, and ideally multi-party authorization. A Shamir Secret Sharing scheme (requiring, say, 3-of-5 designated custodians to reconstruct the key) prevents a single rogue administrator from silently accessing employee data.

// Conceptual key wrapping on device
async function wrapDEKForEscrow(dek: CryptoKey, enterprisePublicKey: CryptoKey) {
  const rawDEK = await crypto.subtle.exportKey("raw", dek);
  const wrappedForEnterprise = await crypto.subtle.encrypt(
    { name: "RSA-OAEP" },
    enterprisePublicKey,
    rawDEK
  );
  return wrappedForEnterprise; // stored server-side, enterprise can recover
}

Architecture 2: Key Management Service (KMS) Delegation

A lighter-weight alternative: the user's keys are still derived client-side, but the key derivation involves a server-side KMS that logs every derivation event. The user's password or passkey is combined (via ECDH) with an enterprise-controlled KMS key to produce the DEK.

This means:

  • The KMS cannot decrypt data on its own (it lacks the user's half of the key material).
  • The enterprise can revoke the KMS contribution at any time, rendering all encrypted data inaccessible.
  • For legal hold, the enterprise directs the KMS to participate in a supervised decryption event — logged, audited, scoped to specific files or date ranges.

The tradeoff: this architecture requires the KMS to be online at encryption and decryption time. Pure split-key escrow is offline-capable (the wrapped DEK is stored alongside the file; recovery does not require the original server).

Architecture 3: Policy-Scoped Key Envelopes

Used by several regulated-industry platforms, this architecture adds a policy layer to key wrapping. Each DEK is wrapped not just for the user but for a set of roles defined by the organization's identity provider:

  • user:{alice@example.com} — only Alice, for daily use.
  • role:legal-hold — the legal team, for e-discovery.
  • role:hr-offboarding — HR, triggered only upon departure events.
  • role:security-incident — the SOC, triggered only during incident response.

Each role wrapper is encrypted under the corresponding role's public key. Keys are issued to role holders through short-lived certificates from the enterprise PKI, with hardware attestation where possible (YubiKey, platform authenticator).

This model is explicit: at encryption time, Alice's device mints one DEK and produces N wrapped copies, one per authorized role. Legal holds are handled without touching Alice's personal key material, and the access log shows exactly which role accessed which files under what policy condition.

What Good Key Escrow Audit Logging Looks Like

Regardless of architecture, the audit trail for escrowed key access is the compliance artifact regulators actually inspect. Minimum requirements for an enterprise-grade implementation:

  • Immutable log entries: each key recovery event must be write-once, signed by the HSM or KMS that performed the unwrap operation.
  • Identity binding: the log must record who triggered the recovery (not just which service account), with MFA attestation.
  • Scope limitation: the log must record which files or key IDs were unwrapped, not just "legal hold activated."
  • Dual-control annotation: if M-of-N custodian approval was required, the log must show all M approvals, with timestamps.
  • Retention: the audit log must be retained for at least as long as the litigation or regulatory matter, typically 7 years minimum for SOX matters.

The FISA Wrinkle

FISA Section 702 and National Security Letters (NSLs) introduce a specific complication: the storage provider may receive a secret order that they cannot disclose to the customer. Under a pure client-side encryption model where the provider holds zero key material, the order cannot be technically fulfilled — and the provider can honestly certify that they have nothing to produce.

This is one of the strongest arguments for true zero-knowledge storage at the infrastructure layer, even when the enterprise operates its own key escrow layer above it. The architecture gives you: enterprise-controlled recovery for legitimate internal and civil legal hold, combined with a storage provider that cannot be secretly compelled to produce plaintext because it genuinely has none.

BitAtlas is designed for exactly this split: the infrastructure layer is zero-knowledge — keys never leave the client device in plaintext, and BitAtlas servers cannot decrypt your data. The enterprise recovery layer — split-key escrow, KMS delegation, or policy-scoped envelopes — lives in your own infrastructure, under your own HSMs, subject to your own legal jurisdiction.

Practical Checklist for Enterprise Deployment

Before rolling out client-side encryption with key escrow in a regulated environment:

  1. Legal review of escrow key holders: the ERK custodians must be identified in your litigation hold policy and trained on proper invocation procedures.
  2. HSM procurement and certification: use FIPS 140-2 Level 3 or equivalent for the ERK private key. Software-only key stores do not satisfy most regulated-industry requirements.
  3. Tabletop exercise: simulate a litigation hold, from the moment legal counsel issues the preservation notice to the moment you deliver responsive documents. Identify gaps before an actual matter creates time pressure.
  4. Separation of duties: the team that manages day-to-day encryption infrastructure should not be the same team that can invoke key recovery without approval.
  5. Employee disclosure: in most jurisdictions, employees have a right to know that organizational key escrow exists. Update your acceptable-use policy and employment agreements accordingly.

The tension between zero-knowledge privacy and enterprise legal hold is real, but it is an engineering problem with well-understood solutions. The goal is not to pick one value over the other — it is to architect systems where cryptographic guarantees and compliance obligations coexist, each respected in its proper domain.

Encrypt your agent's data today

BitAtlas gives your AI agents AES-256-GCM encrypted storage with zero-knowledge guarantees. Free tier, no credit card required.