48 Commits
Author SHA1 Message Date
Laan Tungir 6e61c6a5a8 Render pending-only canonical proof carrier selection as info instead of error on verify page v0.1.6 2026-07-30 06:46:55 -04:00
Laan Tungir 399a633697 Hide OTS upgrade/republish buttons for non-owners; only the event owner (signed-in pubkey matches) can upgrade the proof v0.1.5 2026-07-29 09:52:32 -04:00
Laan Tungir a662686a0b Removed empty footer from both pages; version badge now shows cleanly at bottom-right v0.1.4 2026-07-29 09:21:04 -04:00
Laan Tungir 668fb65efb Removed ML-KEM note from TLDR area per feedback; keep TLDR unchanged v0.1.3 2026-07-29 09:18:28 -04:00
Laan Tungir 270cddc433 Updated README: multi-explorer OTS verification status, proof archive/canonical selection/signer validation/test vectors now implemented, added ML-KEM clarifying note and FIPS 206 reference v0.1.2 2026-07-29 09:17:12 -04:00
Laan Tungir 33e06adc4a Added braille spinner to verify Query & Verify button; restructured verify results into a single card flow with OTS stamp/upgraded cards and a final summary card v0.1.1 2026-07-29 09:00:26 -04:00
Laan Tungir b46d081211 v0.1.0: verify page restructure, sign-in tab, proof archive simplification, attestation reply event v0.1.0 2026-07-28 06:01:19 -04:00
Laan Tungir 57d8d2fcf4 Publish kind 1 reply announcing confirmed OTS attestation with block height v0.0.37 2026-07-27 17:08:32 -04:00
Laan Tungir 79185f9909 Simplified downloads to proof archive only; verify link now opens specific attestation via ?npub param v0.0.36 2026-07-27 16:31:03 -04:00
Laan Tungir 94f03f2999 Added Sign In tab to verify.html for nostr-login-lite authentication v0.0.35 2026-07-27 13:03:36 -04:00
Laan Tungir 200eb41f39 Restructured verify.html: moved tab selection to top, explanatory text to bottom, and rewrote the Note v0.0.34 2026-07-27 12:53:32 -04:00
Laan Tungir ed572e21e5 Move 'don't enter valuable seed' warning from sign-in card to 'I Have a Seed Phrase' panel in step 2 v0.0.33 2026-07-26 11:58:52 -04:00
Laan Tungir 8039af473a Add inline braille spinner next to 'Wait for Bitcoin confirmation' label during OTS polling v0.0.32 2026-07-26 11:52:36 -04:00
Laan Tungir 2a1ddf3b17 Move site to /quantum-prep/, fix laantungir relay trailing-slash 301 WebSocket failure, swap damus→sendit.nosflare.com relay, add takeaway intro to index.html, add braille spinner to step-6 OTS polling v0.0.31 2026-07-26 11:44:07 -04:00
Laan Tungir 68050fc8a3 Fix signEvent: strip non-NIP-01 statementBytes field from kind 1 template before sending to signer (validateSignerOutput rejects extra fields) v0.0.30 2026-07-25 13:00:12 -04:00
Laan Tungir 14dc8a063c Fix bundle import path: ./pq-crypto.bundle.js → ../pq-crypto.bundle.js (bundle is at www/ root, not www/js/) v0.0.29 2026-07-25 11:14:53 -04:00
Laan Tungir 401c88511e Fable5 audit remediation: canonical OTS digest (H-1), anchor availability (H-2), algorithm policy reconciliation (M-1), trust-mode transparency (M-3/M-4/L-2), strict base64 (L-3), conformance vectors; 32 new tests, 137/137 passing v0.0.28 2026-07-25 11:04:08 -04:00
Laan Tungir cc66a5fa3e G56-17/19/20: remove unverified block_height tag from signed content, require 64-hex event id in verifyNostrEvent, show event size + relay limit warning in publish step, document relay limits in README v0.0.27 2026-07-25 07:36:25 -04:00
Laan Tungir 5ebc6d8d2a G56-10: zeroize secret typed arrays on sign-out (fill(0) before null), clear DOM seed display/input/entropy hint, clear clipboard, document JS zeroization limitation in README v0.0.26 2026-07-25 07:30:14 -04:00
Laan Tungir 5d6dbc9ecd G56-11/12/13/14/15/18: relay acceptance required for both events, resume validates signatures + persists complete events, OTS parser safe varuint + operation/branch budgets, commit lockfile + fix .gitmodules, G56-18 won't-fix (public events) v0.0.25 2026-07-24 14:43:29 -04:00
Laan Tungir 66babc5a7a G56-08: apply nginx security headers on server (HSTS, nosniff, X-Frame-Options, Referrer-Policy, Permissions-Policy, COOP, CORP) scoped to /post-quantum/ only — all High-severity findings now addressed v0.0.24 2026-07-24 13:14:32 -04:00
Laan Tungir 87a8893785 G56-08: browser hardening — extract inline JS to external files (index-app.mjs, verify-app.mjs, version-display.js), remove unsafe-inline from script-src CSP, add frame-ancestors none + referrer-policy, SRI hashes on signer scripts, nginx security headers config v0.0.23 2026-07-24 11:09:50 -04:00
Laan Tungir 5bc36c37e7 G56-06: document honest continuity position (asserted not proven — no in-browser crypto can prove seed-to-key binding when browser is the adversary); reject Mode 1 (no signers accept seeds) and Mode 2 (fakeable by same browser); add out-of-band verification recommendation to UI v0.0.22 2026-07-24 10:30:29 -04:00
Laan Tungir f29f63950b G56-04: multi-explorer cross-check (fail on disagreement) + trustMode field in verifyOtsProof result (multi-explorer-checked/single-explorer-checked/structural-only) + UI trust-mode labels + remove misleading lite-client comments v0.0.21 2026-07-24 10:15:01 -04:00
Laan Tungir a1e1759704 G56-05: validateSignerOutput() helper — checks all fields, verifies no template field changed, pubkey matches identity, recomputes ID, verifies Schnorr sig, rejects extra fields; replaced reconstruction at all 4 signEvent() call sites; 15 new tests v0.0.20 2026-07-24 09:42:06 -04:00
Laan Tungir 113885eb96 G56-07: fail-closed verifiers (verifyNostrEvent, parseOtsFile never throw on malformed input), add MAX_OTS_PROOF_SIZE/MAX_EVENT_JSON_SIZE size guards, 23 fuzz/property tests (random JSON, random bytes, truncation, oversized inputs) v0.0.19 2026-07-24 09:25:52 -04:00
Laan Tungir cfa0ecc220 G56-16: reconcile stale claims — README OTS trust model (API-assisted vs light-client), remove stale not-implemented items, soften nip_proposal signer/OTS/pending-proof wording, add research-prototype banners to verify.html + all docs and research files v0.0.18 2026-07-24 09:09:51 -04:00
Laan Tungir fee9d6c344 G56-09: default seed generation to 24 words with 12/24 selector; remove inaccurate quantum-safe claims; fix misleading republish wording for non-replaceable kind 9999 upgrades v0.0.17 2026-07-24 08:44:55 -04:00
Laan Tungir 7a5701ff51 Add GPT-5.6 audit remediation progress tracker 2026-07-24 08:18:45 -04:00
Laan Tungir 2eb465ed26 G56-02: Eliminate all remaining kind 11112 references from user-facing files and docs v0.0.16 2026-07-24 08:13:07 -04:00
Laan Tungir be5afe3c91 G56-02+03: Update nip_proposal.md and README.md for non-replaceable kind 9999 v0.0.15 2026-07-24 07:17:37 -04:00
Laan Tungir 5a4a822c51 G56-02+03: Switch to non-replaceable kind 9999, append-only upgrades, earliest-anchor selection, identity binding v0.0.14 2026-07-24 07:16:26 -04:00
Laan Tungir a728e125a8 Fix checkbox: fill background red when checked, not just border v0.0.13 2026-07-23 13:35:37 -04:00
Laan Tungir 1308ab7099 G56-01: Fix critical fail-open verifier — enforce mandatory PQ algorithm policy, reject missing signatures, fail closed on malformed input, add structured result fields and 11 adversarial tests v0.0.12 2026-07-23 13:34:38 -04:00
Laan Tungir ea5e24cbb9 . 2026-07-20 20:17:22 -04:00
Laan Tungir 9a975fcbc5 Make Step 6 checklist boxes consistent: solid red background, no text/checkmark inside (matching Migration Steps style) v0.0.11 2026-07-19 09:02:20 -04:00
Laan Tungir cf6333917d Remove Done button from Step 5; Continue to OpenTimestamps is the only forward action v0.0.10 2026-07-19 08:34:09 -04:00
Laan Tungir 122d51903d Submit to all OTS calendars in parallel and merge fragments into multi-attestation proof (alice, bob, a.pool, b.pool, catallaxy) v0.0.9 2026-07-19 08:29:27 -04:00
Laan Tungir 3d3d5d7dd7 Fix OTS resume: fetch full event from relays before republishing upgraded proof, so buildUpgradedEvent has tags/content v0.0.8 2026-07-19 07:59:05 -04:00
Laan Tungir ff54de18bb Verify page: auto-detect signed-in user and auto-query their kind 11112 event on page load v0.0.7 2026-07-19 07:33:55 -04:00
Laan Tungir 257ec1a739 Fix OTS recursion limit exceeded: raise parser depth limit from 64 to 512 for heavily upgraded proofs v0.0.6 2026-07-19 07:24:36 -04:00
Laan Tungir 51f577d645 Sanitize OTS polling log: remove scary 'Failed!' text for normal pending state v0.0.5 2026-07-18 17:49:00 -04:00
Laan Tungir 6b6b6ce99e Require explicit Continue button after relay publishing before advancing to OTS step v0.0.4 2026-07-18 17:46:36 -04:00
Laan Tungir 0ef2d6be72 Redesign migration UI: consolidate seed buttons, plain-text PQ key checklist, remove signature cards, per-relay publish checkboxes, rewrite OTS step with auto-polling, remove inverted black backgrounds, add header padding and copy kind 11112 event v0.0.3 2026-07-18 17:43:27 -04:00
Laan Tungir 2dbfc16f98 Fix OTS calendar submission: revert Content-Type to application/x-www-form-urlencoded (avoids CORS preflight that application/octet-stream triggers) v0.0.2 2026-07-17 19:14:57 -04:00
Laan Tungir 79f9895c16 Add version control: increment_and_push.sh, version.json, version display in page titles, plus all security audit fixes v0.0.1 2026-07-17 19:05:16 -04:00
Laan Tungir eeb78e9c20 Security audit fixes: real OTS verification (F-C2/F-C3), verifyNostrEvent id check (F-H2), XSS fixes (F-H3), CSP (F-H4), test suite with 38 passing tests (F-H1), seed generation UX fix, entropy optional, input validation (F-L3), relay close-as-success (F-L6), doc reconciliation (F-C4/F-L8), Content-Type fix (F-L5), secret clearing (F-L1), 12-word warning (F-L2), Falcon draft warning (F-M5) 2026-07-17 18:59:33 -04:00
Laan Tungir 496c35cb05 first 2026-07-16 20:36:25 -04:00