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:

1
Verification completes The end user finishes the verification flow — license scan, liveness check, face comparison — and the results are assembled.
2
Result summary is built A structured summary of the key outcomes is created: face match score, license expiration status, whether human review was requested, which PII fields were provided, and phone verification status if applicable.
3
Cryptographic hash is generated The summary is hashed using SHA-1, producing a fixed-length fingerprint. This hash is deterministic — the same input always produces the same output — but irreversible. You can't reconstruct the results from the hash alone.
4
Transaction is written to Algorand The result summary, its hash, the verification ID, and an optional name hash are written to the Algorand blockchain as a transaction note. Algorand confirms transactions in under four seconds with immediate finality — once confirmed, the record is permanent.
5
Transaction ID is stored The resulting Algorand transaction ID is saved alongside the verification record in our database. This creates a two-way link: from our system to the blockchain, and from the blockchain back to the verification.

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.

i
Privacy note: No facial images, embeddings, or personally identifiable information are written to the blockchain. The on-chain record contains only verification outcomes and cryptographic hashes. When end-to-end encryption is enabled, even the name hash is omitted.

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:

Hash comparison The current result data in our database is re-hashed and compared to the hash stored on the blockchain. If they match, the data hasn't been modified since it was originally recorded.
Field-by-field check Each individual result field (face match score, license status, etc.) is compared between the local database and the on-chain record. This makes any discrepancy immediately visible and specific.
Independent lookup The Algorand transaction ID is provided so you can look up the raw transaction on any public block explorer — Pera Explorer, Algo.Surf, or Lora — without relying on our interface at all.
Name confirmation If you know the verified person's name, you can generate the same SHA-1 hash and compare it against the on-chain name hash to confirm the record is associated with that individual.

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

Compliance audits Demonstrate to regulators or auditors that your verification records haven't been tampered with, backed by an immutable third-party record.
Dispute resolution If a verified individual later disputes the outcome, the blockchain record provides an independent timestamp and result snapshot that neither party can alter.
Internal accountability Ensure that verification results cannot be modified by anyone in the organization after the fact, maintaining a clean chain of custody.
Client trust Provide downstream partners or clients with independently verifiable proof that the verification results they received are authentic and unmodified.

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.

i
Blockchain anchoring is automatic. You don't need to configure anything, install any software, or hold any cryptocurrency. Every verification is anchored as part of the standard flow. The blockchain proof page on each certificate gives you (and anyone you share it with) a way to independently confirm the results haven't been altered.

Ready to see the API?

API Reference →