See every cipher.Fix what breaks first.

One offline scan finds the cryptography across an estate. Then LATTICE shows what a quantum computer breaks first, and when.

RSA-2048X25519 + ML-KEM-768

Sandbox on, offline_
sto scan the demo estate: 19 files, 49 assets
assets found in OpenSSL 3.5.5 source in 2.9 s
kinds of evidence, from source to live processes
tests, run on Linux, Windows and macOS
FROM
an adversary, 2032
TO
the operators of payments-api

_

A thought experiment. The recording in LATTICE's demo estate is real.

The recording has already started.

Harvest now, decrypt later.

2032
Q-day
Identitysecret for 25 years
Readable
Healthsecret for 20 years
Readable
Financialsecret for 10 years
Readable
Personalsecret for 10 years
Readable
Credentialsecret for 5 years
Past secrecy
Publicno secrecy needed
Past secrecy
4of six kinds of data recorded in 2026 can be read in 2032, while they still have to stay secret.
how long it must stay secretreadable after Q-day, still secretQ-day

Find every cipher, wherever it hides.

source · binaries · certificates · config · IaC · images · traffic · processes · key custody

01

Discover

Nine collectors read the estate. Nothing is run.

02

Connect

Every finding is tied to the data it protects.

03

Decide

Risk, deadline, fix and cost for every asset.

Source code

Python, Java, Go, C, C++, JavaScript, TypeScript, Rust and C#, parsed into syntax trees.

read identity-service/src/main/java/in/gov/identity/AadhaarVault.java:10rule java.jca.secret-key-spec
matched SecretKeySpec

AES-ECB (PKCS5) protecting Aadhaar data

High priority, wave 1: replace with AES-256-GCM

Liveness
Configuredselected in code by SecretKeySpec
Evidence grade
Cone layer of evidence

Not what could run. What does run.

kernel uprobes · OpenSSL · BoringSSL · AWS-LC · rustls · Go · Java

Watch cryptography happen.

lattice trace listens inside running programs, from the kernel. No source, no restart, no agent. What it sees is marked Confirmed.

Listens through

Kernel uprobes

Linked statically on AWS-LC or ring, found inside running Rust programs.

Listens to
  • aws_lc_0_45_0_X25519
  • ring_core_0_17_14_aes_hw_set_encrypt_key
  • chacha20_poly1305_seal
  • x25519_scalar_mult_adx
Recorded live, lattice-srv, 12 s
  • X255193
  • ML-KEM-7682
  • AES-256-GCM12
  • ChaCha20-Poly13054
  • ECDSA4
  • AES-25697

Recorded live inside LATTICE's own server: hybrid X25519MLKEM768 in use.

Every asset gets a deadline.

X + Y > Z means the data is still secret when the quantum computer arrives

X + Y > Z

X
years the data must stay secret
Y
years the migration takes
Z
years until Q-day, 2030 to 2035
Try
What the cryptography protects (X)10 years
10

Migration time Y = 0.25 + (100 − 10) × 0.04 = 3.85 years

Already late: X + Y = 13.85 years

Even the latest Q-day, 9 years away, arrives while this data must still be secret.

Then a plan, with dates and a budget.

34 changes · 4 waves · 167.5 person-weeks · due 2027 to 2029

9.9 person-weeks3 changes · due 2027
  • 3DES-CBCgatewayreplace with AES-256-GCM1.4 pw
  • TLS 1.0gatewayupgrade to TLS 1.3 with the X25519MLKEM768 group0.8 pw
  • AES-ECB (PKCS5)identity-servicereplace with AES-256-GCM7.7 pw
0.7 engineers working full time meet every DST deadline for this estate: 34 changes, 167.5 person-weeks.

A scanner that cannot leak what it reads.

landlock · seccomp · no network · no programs · targets read-only

Try to make it phone home

Each button replays what lattice sandbox-check recorded on a real machine.

$ lattice sandbox-check
# press a probe above

Signed with ML-DSA-65

Change one byte and verification names the part.

Reproducible

The same bytes on Linux, Windows and macOS.

It inventories itself

Every release ships its own CBOM and SBOM.

Air-gap ready

Signed updates, with rollback protection.

India's deadline starts with an inventory.

The inventory, the proof and the plan. One offline binary you can verify.

FIPS 203FIPS 204FIPS 205NIST IR 8547CycloneDX 1.6DST Task Force 2026

Move the cursor across the word