Understanding Blockchain Integrity Anchoring
Every completed verification produces a set of results — face match scores, license validity, liveness checks. Integrity anchoring ensures those results can't be quietly changed after the fact. Here's how it works, what gets recorded, and why it matters.
What Is Integrity Anchoring?
Integrity anchoring is the practice of writing a cryptographic fingerprint of your data to an independent, append-only ledger — in our case, the Algorand blockchain. The fingerprint is a one-way hash: a short string of characters derived from the verification results that changes completely if even a single character of the source data is altered.
Once that hash is written to the blockchain, it becomes part of a permanent, public record that no one — including us — can edit, delete, or backdate. If anyone later questions whether results were modified, the on-chain record serves as a neutral reference point that either confirms or denies the integrity of the stored data.
This is the same fundamental technique used by financial institutions, legal archival systems, and regulated industries to establish data provenance. We apply it to every verification automatically.
How It Works
The anchoring process is fully automatic and happens in the background when a verification completes. Here's the sequence:
What Gets Recorded On-Chain
The blockchain record contains a structured summary of the verification outcome — not the raw data itself. Specifically:
Verification Results
The face match score category, license expiration status, whether the person was under 21, whether human review was needed, phone verification status, and which PII fields were provided. These are the same fields delivered to your webhook.
Result Hash
A SHA-1 hash of the stringified result summary. This is the core integrity mechanism — if the summary is regenerated from the current database and produces the same hash, the data hasn't been altered.
Verification ID
The unique identifier for this verification, linking the on-chain record to the specific session in our system.
Name Hash (optional)
A one-way SHA-1 hash of the verified person's name combined with the verification ID. This allows someone who already knows the person's name to confirm the record belongs to them, without the name itself being visible on the public ledger. Not included when end-to-end encryption is enabled, since the name is encrypted before it reaches our servers.
Why Algorand?
We selected Algorand as our anchoring layer for a few practical reasons:
- Immediate finality — transactions are confirmed in under four seconds and cannot be reversed or reorganized. There's no waiting for additional confirmations.
- Low transaction cost — writing a record costs a fraction of a cent, which allows us to anchor every verification without introducing meaningful overhead.
- Public and permissionless — anyone can independently verify a transaction using any Algorand block explorer. No special software, credentials, or relationship with us is required.
- Carbon-negative network — Algorand uses a pure proof-of-stake consensus mechanism with minimal energy consumption, which aligns with responsible infrastructure choices.
How to Verify a Record
Every completed verification with a blockchain anchor has a Blockchain Proof page accessible from its certificate. That page walks through the verification process step by step, but here's what's happening under the hood:
Why It Matters
Verification results sit at the intersection of identity, trust, and liability. When a business decision depends on whether someone is who they claim to be, the integrity of that verification isn't just a technical detail — it's the foundation the decision rests on.
Without an independent anchor, verification results live only in a database. Databases can be edited. Records can be altered — intentionally or accidentally — without leaving a trace. If a dispute arises weeks or months later, there's no way to prove that the results you're looking at are the same results that were produced at the time of verification.
Blockchain anchoring solves this by creating a reference point that exists outside of any single system. It doesn't replace your database — it gives you a way to prove your database is telling the truth.
Common scenarios where this matters
What Is a Distributed Ledger?
A blockchain is a type of distributed ledger — a database that is maintained simultaneously by a network of independent participants rather than a single central authority. When a transaction is submitted, it is validated by the network through a consensus protocol and then added to a chain of blocks, each cryptographically linked to the one before it.
The key property this produces is immutability. Because each block references the hash of the previous block, altering any historical record would require recomputing every subsequent block — a task that is computationally infeasible on a well-established network. The result is a shared, append-only record that all participants can independently verify.
For our purposes, this means the integrity anchor we write for each verification cannot be retroactively modified by anyone — not by us, not by the client, not by the person who was verified. It exists as a neutral, timestamped record that can be checked at any time by anyone with the transaction ID.