LIVE DEMO

Verify a signature in your browser.

Below is a real decision from Synaura's production database. Click Verify to run ML-DSA-65 signature verification entirely in your browser — the cryptographic library loads from a public CDN, the computation runs in JavaScript, and no requests are made to Synaura's servers. Open DevTools → Network to confirm.

The artifact

Decision dec_v4_01 — signed 2026-05-07T12:37:39.530Z by usr_renan_01

iddec_v4_01
titleMigrate all edge compute to Cloudflare Workers
summaryCost reduction of 40% vs AWS. Better DX. D1+KV+R2 simplifies architecture.
statusapproved
decided_by_nameHenry Patel
decided_at2026-04-28
signer_user_idusr_renan_01
signed_at_crypto2026-05-07T12:37:39.530Z
algorithmML-DSA-65 (FIPS 204)
content_hash7ab4252cca602d86d0c425ef91d50851061d0e34756250a298bad5c5a234f39c
signature0ylzJmC9z7ZMnrpBT31nUQp4Y5cn5JTT... (4,412 chars)
public_key_idskey_4c2ef7c41af243

Step 1: Verify the original

This reconstructs the canonical payload from the fields above, loads the ML-DSA-65 library from esm.sh, and calls ml_dsa65.verify() in your browser.

Step 2: Tamper and re-verify

Edit the title below and verify again. The signature was computed over the original content — any change will cause verification to fail, proving tamper detection works.

What just happened. The @noble/post-quantum library (v0.6.1, audited, open-source) was loaded from esm.sh — a public JavaScript CDN. The canonical payload was reconstructed by sorting all field keys alphabetically and encoding as UTF-8, exactly as Synaura's server does at signing time. The SHA-256 content hash was recomputed for display. The ML-DSA-65 verify() function checked the signature against the public key and the canonical bytes. All computation ran in your browser's JavaScript engine. Zero network requests to Synaura. The artifact is self-proving.