Per-message key evolution
Canonical across text, voice, photos, video, and calls. One compromised key exposes one ratchet step.
QERYX DESIGN KIT — WAVE 1 FROZEN CONTRACT
One black, one green ladder of eight steps, hairlines instead of shadows, square corners everywhere. System monospace carries the whole page. Every glyph you read sits on the ladder — nothing below --text-2 ever carries a word.
00Color tokens
--qx-bg
--qx-raised
--qx-raised-2
--serpent-a1
--serpent-a2
--serpent-a3
--serpent-a4
--serpent-a5
--serpent-a6
--serpent-a7
--serpent-a8
--serpent-9
--serpent-10
--serpent-11
--serpent-12
--qx-line-1
--qx-line-2
--qx-line-3
--qx-fill-1
--qx-fill-2
--qx-fill-3
--qx-ok-bg
--qx-ok-border
--qx-ok-text
--qx-warn-bg
--qx-warn-border
--qx-warn-text
--qx-err-bg
--qx-err-border
--qx-err-text
--qx-text
--qx-text-2
--qx-text-muted-floor
Green is never prose — no green-prose token exists. #00FF41 is never a fill: accent text, focus, live signal only. Labels on green fills are black (6.75:1).
01Type ramp
display / clamp(3rem, 8vw, 5.5rem) / 600 / -0.035em
The message arrives sealed.
h2 / clamp(1.5rem, 3vw, 2rem) / 600
The relay carries the envelope.
h3 / 1.0625rem / 600
Only your peer opens it.
body / 1rem / 1.6 / #EDEDED / measure ≤ 70ch
The system font stack carries every sentence a visitor reads. It costs zero bytes, shifts zero layout, and leaves the mono voice free to mean one thing: this value is cryptographic.
secondary / 0.9375rem / 55% white
Secondary copy holds captions, descriptors, and quiet context.
mono two-tone / label dim · value white
FIPS 203 ML-KEM-1024 ss 32 B
numerals / tabular-nums everywhere
0123456789 · 1,568 B · 626µs · 2-of-3
03Badges
04Status wells
Safety number matches. Both devices hold the same session.
AES-256-GCM runs algorithm-conformant today; the validation certificate is in progress and gated before any NSS claim.
The manifest signature did not verify. Download the build again and re-run the check before installing.
Dot + text label carry the state together — never color alone.
05Hero
Hero specimen
06Primitive strip
07Feature rows
ChaCha20-Poly1305 seals every message on your device. The relay carries the envelope; only your peer opens it.
session_key = HKDF-SHA-512(
IKM = x25519_shared || mlkem_shared || bell_canonical,
salt = transcript_hash,
info = "QERYX-SESSION-v1",
L = 32 bytes
)
Q-Ratchet advances the key with every message you send. Yesterday's key opens nothing today.
08Crypto cards
Canonical across text, voice, photos, video, and calls. One compromised key exposes one ratchet step.
Append-only log signed under ML-DSA-87, checked by a 2-of-3 multi-witness quorum — verify-only today. Three external Ed25519 auditor slots exist but ship dormant, holding placeholder keys until auditors are onboarded.
Each hop re-encrypts. No relay sees both ends of a conversation. Tap through for the live route.
09Spec table
| Primitive | Standard | Role | Key facts |
|---|---|---|---|
| ML-KEM-1024 | FIPS 203 | Key encapsulation | pk 1568 B · ct 1568 B · ss 32 B |
| ML-DSA-87 | FIPS 204 | Signatures | pk 2592 B · sig 4627 B · hedged signing |
| X25519 | RFC 7748 | Hybrid key agreement | 32 B public keys |
| ChaCha20-Poly1305 | RFC 8439 | AEAD | 32 B key · 12 B nonce · 16 B tag |
| HKDF-SHA-512 | RFC 5869 | Key derivation | labeled info, domain-separated |
| Argon2id | RFC 9106 | Password hardening | m=512 MiB · t=2 · p=4 |
10Stat blocks
626µs1
added to the handshake by Bell-binding
3
relay hops between you and your peer
32 B
session key derived by HKDF-SHA-512
11Verdict table
| QERYX | Classical E2E | SMS-tier | |
|---|---|---|---|
| Key material | |||
| Key agreement | X25519 + ML-KEM-1024 hybrid | X25519 | Not included |
| Recording traffic today, decrypting on a quantum computer later | Stays sealed — ML-KEM-1024 | Not included | Not included |
| Per-message key evolution | Included | Included | Not included |
| Server exposure | |||
| What a subpoena of the relay yields | Ciphertext + timestamps | Varies by operator | Full content |
| Group membership hidden from the server | Included | Not included | Not included |
| Deletion trace | Hard delete on ack | Soft-hide typical | Carrier retention |
| Transport | |||
| 3-hop onion routing | Included | No equivalent No equivalent | No equivalent No equivalent |
Comparisons stay at category level. Absent capability renders the lock glyph with hidden text — never color or shape alone.
12Tab switcher
KEYGEN. Your device generates an ML-KEM-1024 keypair and an X25519 point. The public halves travel; the secrets never leave your device.
ENCAPSULATE. Your peer encapsulates to your public key. A 1568-byte ciphertext comes back carrying a 32-byte shared secret only your device can open.
DERIVE. HKDF-SHA-512 folds both shared secrets into one 32-byte session key under info = "QERYX-SESSION-v1". Both locks must fall for the session to fall.
13Accordion
Everyone on QERYX is a paying customer, because the moment you stop paying, you become the product. We removed that moment.
Ciphertext blobs, a registration timestamp, a last-connect time. The relay holds no plaintext, no contact graph, no group roster. There is nothing responsive to disclose.
Deletion revokes your keys in the transparency log and hard-deletes the server-side record. No grace period, no soft-hide.
14Highlights rail
15Numbered section
Two independent agreements — X25519 and ML-KEM-1024 — meet in one derivation. An adversary must break both to read a single byte.
16Bento grid
01
Text, voice, video — sealed end-to-end, keys evolving per message. The flagship surface every other product orbits.
02
Three hops. Each one re-encrypts.
03
Argon2id-hardened, hybrid-wrapped secrets.
04
The server moves envelopes it cannot open.
05
Every claim anchored to an artifact. →
17CTA ladder
18Code block
# confirm the build you downloaded matches the signed manifest
scripts/verify-release.sh v1.0.0 qeryx-release.ipa
session_key = HKDF-SHA-512(
IKM = x25519_shared || mlkem_shared || bell_canonical,
salt = transcript_hash,
info = "QERYX-SESSION-v1",
L = 32 bytes
)
curl -s https://qeryx.com/.well-known/security.txt
19Skeleton text
Loading states render as dim ciphertext resolving once over 300ms — the skeleton mirrors final geometry, never a blank hole.
20Empty states
No devices linked
Devices appear here the moment you pair one.
No matches
Nothing in the index matches that query.
Verification failed
The signature did not match the manifest. Download the build again and re-run the check.
Shadow tier
QSeal, Shadow ID, and Ghost Serpent sit on the Shadow tier.
21CTA section
22Observatory grammar — the station, the pipeline, the rule
The four shapes the walk is built from. Every one of them is a global class in observatory.css — a page composes them, never restyles them.
03Tech behind — live
Format is fixed: NN / TITLE IN CAPS with an optional
qualifier after the em dash. Printing one declares the block it sits in
to the escort rail, so numbering a section and adding it to the walk are
the same act.
The detector returns +1 or −1 at its own angle. Nothing is recorded that a second party did not also record.
SHAKE256 over both peer seeds. The round is reproducible from the seeds alone, by anyone, afterwards.
ML-DSA-87 over the transcript, rounds linked by SHA3-256. Editing one round breaks every link after it.
Recompute the chain, check the signature, fail closed. A verifier that cannot fail is not a verifier.
Use it wherever a mechanism is explained. One boxed numeral, one uppercase verb, one paragraph naming the real primitive.
The default rule carries a fact the reader must not miss. Green: this is true today, in the present tense.
Amber: the open question — the thing only a decision can close. The canary reissue ceremony has not begun; no date is displayed.
Red: the blocker you must read first. Nothing ships past a red rule until the rule is gone.
Three states, one geometry. Colour is the only thing that moves — which is why the set reads as one object rather than three components.
X25519 + ML-KEM-1024 through HKDF-SHA-512 on every session.
Sender identifiers blinded per delivery token and hourly window.
The v2 Bell lane ships in the client and activates per deployment.
A rung states what it is. Nothing on this ladder is allowed to read as shipped until the command that proves it passes.
Border, diamond and glow move together per state, so a reader tells shipped from planned without reading a word.