Don't just claim compliance. Prove it, cryptographically.
When the Data Protection Board of India opens an inquiry, it will not ask what you say. It will ask what you can prove. dcomply's EvidenceChain hash-chains every consent, DSR, breach, and connector event so tampering is mathematically self-evident, not a matter of trust.
A database row proves nothing on its own
Any conventional audit log is a claim. If the row could have been written, edited, or backdated at any time by anyone with database access, it does not constitute evidence in a regulatory inquiry. This is the same problem Vishwaas.ai raises, and we agree with the diagnosis. The question is whether your compliance vendor has actually solved it, and across how many modules.
What a regulator sees in a normal audit log
A row saying “consent granted on 2026-05-12 at 14:33.” No way to prove it wasn't inserted last week. No way to prove the timestamp wasn't rewritten. No way to prove any row above or below it wasn't quietly deleted. Legally, this is a claim, not evidence.
What a regulator sees with EvidenceChain
The same row, plus a current_hash tying it to the previous row's hash, the canonical payload, and the timestamp. To fake or alter one row, you must recompute and rewrite every subsequent hash. The verify() walk catches the first inconsistency and returns the offending row id. Independently rehashable.
Four layers of tamper evidence
Each of these lives in production today inside dcomply. They are not marketing promises.
SHA-256 hash chain
Every evidence row's current_hash equals sha256(previous_hash + canonical_payload + occurred_at). Chain is per-tenant and lock-guarded so concurrent appends cannot fork.
Append-only tables
Dedicated tables (source_evidence_entries, breach_audit_logs, dsr_audit_logs, consent purposeLogs) accept INSERTs only. No update, no delete path exists in application code.
Canonical JSON payload
Payloads are serialised with JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES and no whitespace, giving a byte-identical string across environments. Regulators can rehash the payload themselves and get the same digest.
Independent verify walk
A public verify(tenant_id) method walks the chain in order and returns null if intact, or the id of the first inconsistent row. The DPBI export bundle ships the rows plus the verification code, so trust in dcomply is not required.
Roadmap: RFC 3161 trusted timestamping
Q3 2026. Each row will additionally carry a third-party RFC 3161 timestamp authority countersignature, attached as a sibling column so the existing chain remains valid. This binds every event to independently verifiable calendar time.
The actual production code
No marketing gloss. This is the append routine from app/Services/Discovery/EvidenceChain.php.
Backed by passing tests in tests/Feature/Connectors/EvidenceChainTest.php.
Every regulated event, one chain
Consent-only cryptographic proof is a good start. But DPDP inquiries also demand evidence around DSRs, breaches, DPO decisions, and downstream data flows. EvidenceChain covers all of them.
Consent lifecycle
consent.granted consent.withdrawn consent.propagated consent.expired purpose.log.writtenData Principal Rights
dsr.requested dsr.identity.verified dsr.located dsr.export.generated dsr.erase.applied dsr.appeal.openedBreach management
breach.opened breach.dpbi.notified breach.principal.alert.sent breach.72h.deadline.hit breach.closedGovernance & connectors
dpia.dpo.signoff connector.run.started connector.run.completed vendor.dpa.renewed sdf.designation.recordedOne click to a regulator-ready file
When the Data Protection Board sends a notice, a DPO does not need three weeks with spreadsheets. From the dcomply console, the DPBI export bundle produces:
- The full EvidenceChain rows for the affected data principal or breach, in JSON.
- The verification script. The regulator can rehash the payloads themselves without trusting dcomply.
- Human-readable audit narrative tying events to DPDP Act sections (Sec. 6 consent, Sec. 8(2) processor oversight, Sec. 8(6) breach notification, Sec. 11–14 DSR).
- Signed manifest listing every row hash, timestamp, and event type in the export.
- Contemporaneous notices. The exact Privacy Notice version the data principal saw, retrieved by content hash.
The dcomply promise
If a regulator can rehash your evidence bundle offline and get a different digest than what we shipped, we will pay the DPBI penalty. Not because we plan to, but because the math will not let it happen.
Questions we get from CISOs and DPOs
See it, don't just read about it.
Start a free tenant. Grant a consent. Download the export. Verify offline.