Operator details missing
Set NEXT_PUBLIC_LEGAL_ENTITY and NEXT_PUBLIC_CONTACT_EMAIL, and have these documents reviewed for your jurisdiction before launch.
Compliance Pack

Data Processing Agreement (DPA) Template

Standard contractual clauses and technical safeguards governing personal data processing under Article 28 GDPR.

Scope of Agreement
This Data Processing Agreement template supplements the commercial terms between your organization (the Controller) and LKP (the Processor) when integrating hosted verification sessions.

1. Subject Matter and Roles#

Controller: The relying party organization determining the criteria for verification (such as enforcing age gates for legal compliance or terms of service enforcement).

Processor: LKP, operating the zero-knowledge verification backend, challenge coordination service, and cryptographic enclave issuance infrastructure.

Nature of Processing: Ephemeral intake and signing of identity facts, zero-knowledge signal reconstruction, and pairwise nullifier registration.

2. Technical and Organizational Measures (TOMs)#

  • Client-Side Zero-Knowledge Proving: Proofs are generated inside the user's browser using Circom and SnarkJS compiled to WebAssembly. The user's underlying date of birth, name, and passport numbers never leave the client device during proof verification.
  • Ephemeral Enclave Processing: Identity document parsing occurs in a restricted signing enclave. Upon credential signing, raw payload attributes are purged from runtime memory.
  • Provider Session Erasure: Following issuance decisions, LKP calls Didit deletion endpoints with privacy erasure enabled. Didit may retain fraud and statutory audit telemetry under its independent regulatory mandates.
  • Pairwise Nullifiers: Nullifiers are mathematically bound to the specific relying party application ID. No global tracking identifier exists across business accounts.
  • Replay Prevention: Challenges are stored with strict 5-minute time-to-live and consumed atomically on first submission via Redis GETDEL operations.

3. Authorized Sub-processors#

  • Didit Identity Inc.: Biometric liveness detection, facial age estimation, and document OCR. See Didit Privacy Policy.
  • Render Services Inc.: Cloud hosting for enclave signer and verifier backend infrastructure in secure European regions.
  • Supabase Inc.: Managed PostgreSQL storage for envelope-encrypted vault ciphertexts, SMT roots, and nullifiers.
  • Upstash Inc.: Ephemeral serverless Redis for challenge-response nonces and rate limiting.

The Controller agrees to provide clear notice to data subjects prior to initiating verification. Recommended notice:

"The site never sees your identity document; LKP deletes Didit session data after the check; Didit may keep limited fraud and audit records as required by law."

5. Incident Management and Audits#

Processor shall notify Controller without undue delay (and in any event within 48 hours) upon becoming aware of any confirmed security breach affecting Controller verification sessions. Processor shall make available relevant architectural audits and cryptographic verification material upon reasonable request.