48 Commits
Author SHA1 Message Date
Laan Tungir 6e61c6a5a8 Render pending-only canonical proof carrier selection as info instead of error on verify page 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 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 2026-07-29 09:21:04 -04:00
Laan Tungir 668fb65efb Removed ML-KEM note from TLDR area per feedback; keep TLDR unchanged 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 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 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 2026-07-28 06:01:19 -04:00
Laan Tungir 57d8d2fcf4 Publish kind 1 reply announcing confirmed OTS attestation with block height 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 2026-07-27 16:31:03 -04:00
Laan Tungir 94f03f2999 Added Sign In tab to verify.html for nostr-login-lite authentication 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 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 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 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 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) 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/) 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 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 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 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) 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 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 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 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 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 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) 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 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 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 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 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 2026-07-24 07:16:26 -04:00
Laan Tungir a728e125a8 Fix checkbox: fill background red when checked, not just border 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 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) 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 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) 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 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 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 2026-07-19 07:24:36 -04:00
Laan Tungir 51f577d645 Sanitize OTS polling log: remove scary 'Failed!' text for normal pending state 2026-07-18 17:49:00 -04:00
Laan Tungir 6b6b6ce99e Require explicit Continue button after relay publishing before advancing to OTS step 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 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) 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 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