Updated At Mar 24, 2026

DPDP Act Consent architecture 10 min read
Consent Receipts: What to Store, Hash, and Timestamp
A DPDP-focused field guide for architects and engineers designing defensible consent receipts and evaluating consent management platforms.

Key takeaways

  • Use a thin, standardised consent receipt model and keep detailed UX and technical context in linked event logs.
  • Decide field-by-field which data you store in clear text, hash, or track only via timestamps to balance auditability and minimisation.
  • Model consent as a stream of events (given, updated, withdrawn) rather than a single mutable record.
  • Wrap your receipts with strong operational controls: access, versioning, retention, DPIA, and vendor oversight.
  • Apply a consistent evaluation checklist—whether you build in-house or assess DPDP-focused tools such as Digital Anumati.

Regulatory context: why consent receipts matter under DPDP Act and GDPR-like regimes

Under India’s DPDP Act, consent must be free, specific, informed, unambiguous and given by a clear affirmative action, and data fiduciaries are expected to demonstrate that such consent exists for each processing activity. Similar expectations exist in GDPR-like regimes, so consent receipts become the evidence layer for your consent story across laws.[1]
  • Regulators expect verifiable consent, meaning you can show when, how, and for what purpose consent was obtained or withdrawn, backed by logs and records rather than just policy statements.[2]
  • Breach investigations or complaints often start by asking for the consent trail for specific data principals, purposes, and channels.
  • GDPR-oriented guidance frames consent recording as including who consented, when, how, and exactly what they were told, setting a useful benchmark for DPDP implementations as well.[3]
  • For engineering teams, this translates into designing a consent-receipt architecture that can be queried quickly, scales with traffic, and is defensible in front of internal or external auditors.
High-level consent receipt flow from the user through consent collection channels into a central consent event log and audit store.

A robust consent receipt starts with a clear data model. A practical approach is to use a standardised structure with segments for header metadata, parties (data principal, data fiduciary, consent manager), processing purposes, services, and preferences, mirroring widely adopted consent-receipt specifications and then extending them for DPDP-specific needs such as legal basis and jurisdiction tags.[4]
Core consent receipt segments and how they map to DPDP-focused implementations.
Receipt segment Typical fields Implementation notes
Header & identifiers receipt_id, consent_record_id, issuance_time, jurisdiction, dpdp_applicability_flag Use globally unique identifiers, treat them as immutable, and link each header to a full underlying event stream.
Parties data_principal_id, data_fiduciary_id, consent_manager_id, processor_ids Model data_principal_id as a pseudonymous key and map it to direct identifiers (mobile, email, account) in a separate identity store.
Processing purposes & legal basis purpose_codes, purpose_descriptions, legal_basis, notice_version_id Ensure purpose codes align with your processing register and DPDP notices so you can trace each consent back to a documented purpose and legal basis.
Personal data categories category_codes, sensitivity_flag Flag higher-risk categories so you can apply stricter controls and justify why consent is appropriate for those data types under DPDP and other regimes.
Preferences & status consent_status, per_purpose_flags, valid_from, valid_to, revocation_reason_code Treat consent_status as derived from the latest event; never overwrite historical events when a user updates or withdraws consent.
Context references ux_template_id, policy_doc_id, locale, channel Use references instead of blobs; store artefacts such as screenshots or PDFs in a content service and link them by stable IDs from the receipt.

Versioning, events, and receipts

Treat consent as an event stream rather than a single row. Your system-of-record should store events such as CONSENT_GIVEN, CONSENT_UPDATED, CONSENT_WITHDRAWN, with immutable timestamps and references to the applicable notice and UX context. This aligns with consent-record specifications that distinguish a structured consent record in the system from individual receipts provided to data principals as human-readable snapshots.[5]

What to store, hash, and timestamp in your consent stack

Once the data model is clear, the key design question is what to keep in clear text, what to hash or tokenise, and what can live only as timestamps and event logs. The objective is to stay auditable while minimising exposure of personal data and keeping your architecture practical.
Use this checklist to decide how to implement consent receipts and event logging across your systems.
  1. Inventory consent journeys and systems
    Map every place where consent is collected or changed: web, mobile apps, contact-centre tools, in-branch systems, partner portals, and any consent managers you use under DPDP.
    • List all CONSENT_GIVEN, CONSENT_UPDATED, CONSENT_WITHDRAWN, and similar events produced today.
    • Identify systems that currently store only the latest consent state without history.
    • Note which events already capture timestamps, IPs, device IDs, and notice references, and where gaps exist.
  2. Define identity and pseudonymisation strategy
    Choose stable internal identifiers for data principals and decide which external identifiers (mobile, email, cookies, customer numbers) will be stored in clear text, hashed, or tokenised.
    • Avoid using raw national identifiers as primary keys in consent receipts; keep them in a hardened identity service if you must process them at all.
    • Prefer internal surrogate keys (e.g., data_principal_id) in receipts, with joins to PII performed in controlled back-end contexts only when required.
    • Decide whether direct identifiers stored in receipts (e.g., email for notification) should be encrypted at rest, hashed, or both.
  3. Classify fields into clear, hashed, and event-only buckets
    For each field in your consent schema, classify how it will be stored based on its role in audits, operational use, and privacy risk.
    • Clear text: fields needed for day-to-day operations and queries (e.g., consent_status, purpose_codes, notice_version_id).
    • Hashed or tokenised: high-risk identifiers such as phone numbers or email addresses used only for joining or deduplication.
    • Event-only: detailed telemetry like full user-agents or raw screen payloads that are rarely needed outside of investigations but must be timestamped reliably.
  4. Design hashing, signing, and key management
    Standardise how you hash and, where appropriate, sign consent data so that evidence remains verifiable over time without exposing raw personal data.
    • Use strong, well-known hash functions with per-environment salts and strict access controls to those salts or keys.
    • Consider signing the logical receipt or event payload so you can later prove it has not been altered since creation.
    • Document your hashing and signing approach so third-party auditors can reproduce checks during investigations.
  5. Implement and test an append-only consent event log
    Ensure every change in consent state produces an append-only event with precise timestamps and context, then validate that audit-style queries are easy to run.
    • Emit events from all channels (including offline and partner channels) into a central stream or log store before updating application databases.
    • Include in each event: subject identifier, purposes, legal basis, notice_version_id, channel, actor (user, agent, system), and a high-resolution timestamp.
    • Run drills to answer typical audit questions (e.g., “What notice did this person see when they consented to X?”) using only your receipts and events.
Field-by-field guidance on when to store, hash, or rely on timestamped events.
Field group Examples Recommended storage Timestamp focus
Identifiers for data principals customer_id, account_id, mobile_number, email_address Keep internal IDs in clear text; hash or tokenise direct contact details where only joinability is needed. Store raw identifiers in a hardened identity system, not the consent receipt store. Timestamp every consent event involving a subject identifier change (e.g., when a phone number is updated).
Consent metadata and status receipt_id, consent_status, per_purpose_flags, legal_basis, jurisdiction Store in clear text in your consent store for easy querying; these fields are low-risk compared with direct personal identifiers but critical for audits and reporting. Timestamp every creation or change event; you should be able to reconstruct consent status for any past point in time.
Notices and policies notice_version_id, policy_doc_id, policy_url, locale Store IDs and URLs in clear text; keep full notice content and change history in a separate content or policy-management service linked by IDs. Timestamp when each notice was displayed and when the user acted, so you can prove which version they saw at that moment.
Channel and UX context channel, ux_template_id, journey_id, screenshot_hash Store references and hashes in clear text; keep actual screenshots or UI payloads in separate, access-controlled storage linked via IDs and hashes. Timestamp the moment of interaction (e.g., button click, checkbox tick) along with the UX version in use.
Technical context ip_address, user_agent, device_id, location_hint Consider hashing or truncating IPs and device identifiers where full precision is not needed; store full values only where you can justify them and secure them strongly. Timestamp all events carrying technical context so you can correlate with security logs during incident investigations.
Withdrawals and objections event_type, revocation_reason_code, channel, handled_by_agent_id Store in clear text; these fields are central to demonstrating that you honour withdrawals promptly and completely. Use precise timestamps and ensure downstream systems subscribe to withdrawal events in near real time.
Consent manager interactions consent_manager_id, transaction_reference, request_payload_hash, response_payload_hash Keep transaction references and hashes in clear text for audit; store any full payloads separately and protect them as you would other high-risk logs. Timestamp every interaction with a consent manager so you can reconcile your records with theirs if needed.
A good data model is only half the story. To make consent receipts stand up in audits, you need controls around how receipts are created, accessed, changed, and retained across your organisation and vendor ecosystem.
  • Governance and documentation: Maintain a written standard describing what your consent receipts contain, how events flow between systems, and who is accountable for changes and approvals.
  • Notice and UX version control: Treat consent screens, forms, and notices as versioned artefacts with approvals, release logs, and the ability to roll back quickly if an error is found.
  • Access control and segregation of duties: Restrict who can query consent receipts at scale, who can change schemas, and who can modify logging or retention settings. Use role-based access and monitor privileged actions.
  • Logging, monitoring, and alerting: Track failures to write consent events, anomalies in consent-grant or withdrawal rates, and unusual administrator activity, integrating these signals into your existing security monitoring stack.
  • Retention, minimisation, and deletion: Define how long you retain consent receipts and underlying logs, tied to business and legal needs, and avoid indefinite retention by default. Guidance on logging, retention, and obligations for higher-risk data fiduciaries emphasises that retention must be deliberate and proportionate, not limitless.[2]
  • Risk assessment and periodic review: For higher-risk processing or large-scale profiling, perform regular risk or impact assessments that explicitly cover consent collection and receipts, and feed findings into your roadmap for improving notices, flows, and controls.
  • Inconsistent consent status across systems: Check that all channels emit events into a single stream before updating their own databases, and ensure downstream services derive state from the same event log rather than maintaining independent flags.
  • Can’t show which notice a user saw: Confirm that every consent event records notice_version_id and that your policy store retains historical notice content; introduce versioning if current flows only store a URL without version information.
  • Hash mismatches during audits: Verify that all services use the same hashing algorithm, parameters, and salt management; avoid on-the-fly hashing rules in individual applications that diverge from your standard.
  • Missing withdrawals in the audit trail: Check that withdrawals initiated via call centres, email links, partner portals, and consent managers all raise CONSENT_WITHDRAWN events, not just update local preference tables.
  • Storing only the latest consent state instead of a full history of when consent was given, updated, or withdrawn.
  • Embedding full screenshots, HTML, or large payloads with personal data directly in the receipt record instead of linking to controlled content storage.
  • Collecting highly granular technical identifiers (e.g., device fingerprints) without a clear justification or minimisation strategy.
  • Using user-facing identifiers (like email) as primary keys across all systems, making later pseudonymisation and segregation of duties difficult.
  • Ignoring third-party processors and consent intermediaries when designing the receipt schema, leading to gaps in the audit trail for outsourced processing.
With a target architecture and schema in mind, you can compare building in-house against adopting a specialised consent platform. The decision should be based on fit with DPDP requirements, alignment with emerging consent-record standards, ease of integration with your stack, and total cost of ownership over several years.
  • Regulatory alignment: Can the platform explain how its data model supports DPDP consent concepts such as verifiable consent, withdrawals, and purpose limitation, and can it adapt if the rules evolve?
  • Standards support: Does the solution align with consent record standards (for example, by supporting export or mapping to ISO/IEC TS 27560-style records or Kantara-style receipts) so you are not locked into a proprietary structure?
  • Data model flexibility: Can you represent per-purpose consents, multiple brands or business lines, and different legal bases without extensive customisation or vendor intervention?
  • Integration architecture: Are there integration options that fit your environment (SDKs, APIs, event webhooks), and can the platform coexist with your existing identity, policy-management, and logging tools?
  • Security and privacy controls: How are access control, encryption, hashing strategies, and key management handled, and can the platform integrate with your secrets management and SIEM solutions?
  • Auditability and reporting: Can you quickly reconstruct the full consent trail for a data principal or purpose, and produce reports suitable for internal committees or external regulators without manual stitching?
  • Operations and governance: Does the platform support configuration-as-code, environment separation (dev/test/prod), change approval workflows, and rollback options for consent journeys and policies?
  • Total cost of ownership: Compare subscription or licence fees plus implementation and maintenance effort against building, scaling, and operating your own consent service over the medium term.

Considering DPDP-focused consent platforms

Digital Anumati

Digital Anumati is presented as a DPDP Act consent management solution for organisations that need to manage consent under India’s digital personal data protection regime.
  • Positioned around DPDP Act consent management, making it relevant when you want a specialised layer for Indian consent...
  • Can be evaluated alongside in-house builds and other platforms as you design a DPDP-aligned consent-receipt and event a...
  • Homepage positioning highlights its focus on consent under India’s digital personal data protection framework, helping...

FAQs

Sources

  1. The Digital Personal Data Protection Act, 2023 - Government of India / IndiaCode
  2. Summary – Digital Personal Data Protection Rules, 2025 - Data Security Council of India (DSCI)
  3. Guide to the GDPR: Consent - Information Commissioner’s Office (ICO, UK)
  4. Consent Receipt Specification - Kantara Initiative
  5. ISO/IEC TS 27560:2023 – Privacy technologies — Consent record information structure - International Organization for Standardization (ISO) / IEC
  6. Promotion page