Biometric Template Protection Without Storage
How to authenticate with biometrics without storing plaintext templates. FHE eliminates the storage risk entirely.
The most dangerous thing about biometric authentication is not the comparison algorithm or the sensor quality or the liveness detection. It is the template database. Every stored biometric template is a liability — a permanent, irrevocable piece of someone's identity sitting in your infrastructure, waiting to be breached.
The industry's answer has been to encrypt templates at rest and restrict access to the comparison engine. This protects against storage-level attacks but does nothing about the fundamental problem: the comparison still requires decryption. The template must become plaintext for the matching algorithm to work.
There is another architecture. One where biometric templates are never stored in plaintext, never transmitted in plaintext, and never decrypted for comparison. The matching happens on encrypted data. The server never sees what it is comparing.
The Storage Problem
Every biometric template database is a target. The data inside is uniquely valuable to attackers because:
- Permanence: Unlike passwords or tokens, biometric data cannot be changed. A leaked fingerprint template is leaked forever.
- Universality: A stolen template works against any system that accepts the same biometric modality. Steal a user's face template from one system, use it against every face-recognition system they touch.
- Legal liability: BIPA allows $1,000–$5,000 per person per violation. A database of 100,000 templates breached = $100M–$500M in potential damages. GDPR treats biometric data as special category with fines up to 4% of global revenue.
- No rotation: After a breach, you cannot issue users new fingerprints. The remediation path is to stop using that biometric modality entirely for affected users — which defeats the purpose of biometric authentication.
The conventional response is defense in depth: encrypt at rest, restrict access, monitor for anomalies, segment the network, perform regular audits. All good practices. None of them eliminate the core vulnerability: at comparison time, the template is decrypted.
Cancelable Biometrics: A Partial Solution
Cancelable biometrics (also called revocable biometrics or biometric salting) applies a transformation to the template before storage. If the transformed template is leaked, a new transformation can be applied to generate a fresh template from the same biometric — effectively "canceling" the compromised version.
This is an improvement over raw template storage. But it has limitations:
- The transformation must be invertible enough for matching: The transformed template must preserve enough information for the comparison algorithm to produce accurate results. This limits how strong the transformation can be.
- Comparison still requires the transformation key: If the key and the transformed template are both compromised, the original template is recoverable.
- The matching still happens in a comparable space: Whether you compare raw templates or transformed templates, the comparison step itself operates on data that is semantically equivalent to the biometric — it just looks different. An attacker who captures the comparison input has functionally captured the biometric.
Cancelable biometrics reduce the impact of a database breach. They do not eliminate plaintext exposure during comparison.
Secure Multi-Party Computation: Another Partial Solution
Secure MPC splits the template across multiple servers. No single server holds the complete template. The comparison is performed collaboratively — each server contributes its share of the computation without revealing its share of the data.
This is cryptographically sound but operationally complex:
- Multiple servers required: You need at least 2–3 non-colluding servers. If any two servers collude or are compromised by the same attacker, the template is recoverable.
- Communication overhead: The servers must exchange intermediate computation results during each comparison. This adds latency and network dependency.
- Deployment complexity: Running multiple non-colluding servers with independent security boundaries is expensive and operationally demanding.
MPC is a real solution but impractical for most production deployments.
FHE: The Complete Solution
Fully Homomorphic Encryption eliminates the tradeoff entirely. Templates are encrypted on the user's device and never decrypted anywhere in the pipeline. Comparison happens on ciphertext. The server performs the mathematical operations of biometric matching — inner products, distance calculations, threshold comparisons — directly on encrypted data.
This means:
- No plaintext templates in storage: The database contains ciphertext. A complete database breach yields zero usable biometric data.
- No plaintext templates in memory: The comparison operates on ciphertext. A memory dump, side-channel attack, or compromised process yields zero usable biometric data.
- No plaintext templates in transit: The encrypted template travels from device to server encrypted. Even if TLS is compromised (MITM, certificate fraud, quantum attack on key exchange), the template remains protected by the FHE encryption layer.
- No trust in the server: The server is performing a computation it cannot understand. It processes ciphertext and produces an encrypted result. It does not know what biometric it matched, whether the match succeeded, or what the confidence score was. The client decrypts the result locally.
How H33 Implements This
The encryption scheme
H33 uses BFV (Brakerski/Fan-Vercauteren) fully homomorphic encryption with parameters tuned for biometric matching:
- Ring dimension: N = 4096
- Modulus: Single 56-bit prime (H33-128 security level)
- Plaintext modulus: t = 65537
- SIMD slots: 4096 (supports 32 users per ciphertext at 128 dimensions each)
The security is based on the MLWE (Module Learning with Errors) problem — the same mathematical foundation as NIST's post-quantum standards. Breaking the encryption requires solving a lattice problem that is intractable for both classical and quantum computers.
The matching operation
Biometric matching at its core is an inner product followed by a threshold comparison. Two templates (vectors of numbers) are multiplied element-wise and summed. If the sum exceeds a threshold, it is a match.
In FHE, this becomes:
- Load the enrolled template (already in NTT form, stored encrypted)
- Receive the fresh template (encrypted on device, transmitted)
- Compute
multiply_plain_ntt()— element-wise multiplication in NTT domain - Sum across slots using Galois rotation
- Compare against encrypted threshold
- Return encrypted result
The entire operation takes 42 microseconds per authentication on Graviton4 hardware. The server never sees any plaintext at any step.
Template size and storage
An FHE-encrypted biometric template is approximately 256KB — 128x larger than a plaintext template (approximately 2KB). For a database of 1 million users, this means 256GB of encrypted template storage versus 2GB of plaintext storage.
This is a real cost. But compare it to the cost of a biometric database breach: $100M–$500M in BIPA damages alone, plus regulatory fines, remediation costs, and permanent reputation damage. 256GB of storage costs approximately $6 per month on cloud infrastructure.
The Three-Layer Protection
H33's biometric pipeline provides three independent layers of protection:
Layer 1: FHE encryption (data in use)
Templates are never decrypted. Comparison happens on ciphertext. A server breach yields zero usable biometric data. This is the layer that no other biometric system provides.
Layer 2: Post-quantum signatures (integrity)
Every biometric authentication event is signed with three independent post-quantum signature families: ML-DSA-65 (FIPS 204), FALCON-512, and SLH-DSA-128f (FIPS 205). The attestation proves that a biometric comparison occurred, when it occurred, and what the encrypted result was — without revealing the biometric data or the match outcome to anyone except the client.
Layer 3: H33-74 attestation (provability)
The authentication event is compressed into a 74-byte attestation primitive: 32 bytes on-chain (Bitcoin mainnet via Taproot) and 42 bytes off-chain. Any third party can independently verify that the authentication occurred, that FHE was used, and that no plaintext exposure happened — without trusting H33, the server operator, or the user.
This three-layer architecture means you can prove, mathematically, that biometric data was never exposed. Not to your auditor. Not to your regulator. To anyone, independently, at any time. The proof is cryptographic, not documentary.
BIPA Compliance by Architecture
BIPA requires five things:
- Written policy: You must have a publicly available policy for retention and destruction of biometric data.
- Informed consent: You must inform users that biometric data is being collected and obtain written consent.
- No sale or profit: You may not sell, lease, trade, or profit from biometric data.
- Reasonable care: You must protect biometric data with a "reasonable standard of care" at least as protective as other confidential information.
- Destruction: You must destroy biometric data when the purpose for collection is satisfied or within 3 years of last interaction.
With FHE biometrics, items 3–5 become trivial:
- No sale possible: You cannot sell data you cannot read. The encrypted templates are useless without user private keys.
- Reasonable care exceeded: FHE protection is not merely "reasonable" — it is mathematically provable. No standard of care is higher than "the data was never decrypted."
- Destruction is cryptographic: Delete the user's encrypted template and the FHE key parameters. The ciphertext without the key is cryptographic noise. Destruction is absolute and verifiable.
Beyond Compliance: The Business Case
The legal exposure of biometric data is accelerating. Texas joined Illinois with its own biometric privacy law in 2024. Washington, New York, and several other states have pending legislation. The EU's AI Act adds additional requirements for biometric systems used in real-time identification.
For every year you operate a biometric system that decrypts templates for comparison, you accumulate legal exposure. Every authentication event is a potential data exposure event. Every user in your database is a potential plaintiff.
FHE biometric matching eliminates this exposure at the architectural level. Not through policy. Not through process. Through mathematics. The data cannot be exposed because it is never decrypted.
42 microseconds per authentication. 1.6 million authentications per second. Zero plaintext exposure. One API call.
POST https://api.h33.ai/v1/auth/verify
{
"enrolled": "base64-fhe-encrypted-template",
"fresh": "base64-fhe-encrypted-capture"
}
→ { "match": true, "plaintext_exposure": "zero", "proof": "h33-74..." }
Stop storing what you cannot afford to lose. Authenticate without decrypting.
Biometric authentication that never decrypts. 42µs per auth. Production-ready.
Get API Key →