@signwho/verify 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/freetsa-cacert.ts","../src/verify-checks.ts","../src/dispute-summary.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["// FreeTSA root CA certificate (https://freetsa.org/files/cacert.pem), bundled so the\n// verifier can validate the RFC-3161 timestamp token's chain fully offline — no network.\n// Proven (Step 3 spike) to chain a real FreeTSA token end-to-end.\nexport const FREETSA_CA_PEM = `\n-----BEGIN CERTIFICATE-----\nMIIH/zCCBeegAwIBAgIJAMHphhYNqOmAMA0GCSqGSIb3DQEBDQUAMIGVMREwDwYD\nVQQKEwhGcmVlIFRTQTEQMA4GA1UECxMHUm9vdCBDQTEYMBYGA1UEAxMPd3d3LmZy\nZWV0c2Eub3JnMSIwIAYJKoZIhvcNAQkBFhNidXNpbGV6YXNAZ21haWwuY29tMRIw\nEAYDVQQHEwlXdWVyemJ1cmcxDzANBgNVBAgTBkJheWVybjELMAkGA1UEBhMCREUw\nHhcNMTYwMzEzMDE1MjEzWhcNNDEwMzA3MDE1MjEzWjCBlTERMA8GA1UEChMIRnJl\nZSBUU0ExEDAOBgNVBAsTB1Jvb3QgQ0ExGDAWBgNVBAMTD3d3dy5mcmVldHNhLm9y\nZzEiMCAGCSqGSIb3DQEJARYTYnVzaWxlemFzQGdtYWlsLmNvbTESMBAGA1UEBxMJ\nV3VlcnpidXJnMQ8wDQYDVQQIEwZCYXllcm4xCzAJBgNVBAYTAkRFMIICIjANBgkq\nhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtgKODjAy8REQ2WTNqUudAnjhlCrpE6ql\nmQfNppeTmVvZrH4zutn+NwTaHAGpjSGv4/WRpZ1wZ3BRZ5mPUBZyLgq0YrIfQ5Fx\n0s/MRZPzc1r3lKWrMR9sAQx4mN4z11xFEO529L0dFJjPF9MD8Gpd2feWzGyptlel\nb+PqT+++fOa2oY0+NaMM7l/xcNHPOaMz0/2olk0i22hbKeVhvokPCqhFhzsuhKsm\nq4Of/o+t6dI7sx5h0nPMm4gGSRhfq+z6BTRgCrqQG2FOLoVFgt6iIm/BnNffUr7V\nDYd3zZmIwFOj/H3DKHoGik/xK3E82YA2ZulVOFRW/zj4ApjPa5OFbpIkd0pmzxzd\nEcL479hSA9dFiyVmSxPtY5ze1P+BE9bMU1PScpRzw8MHFXxyKqW13Qv7LWw4sbk3\nSciB7GACbQiVGzgkvXG6y85HOuvWNvC5GLSiyP9GlPB0V68tbxz4JVTRdw/Xn/XT\nFNzRBM3cq8lBOAVt/PAX5+uFcv1S9wFE8YjaBfWCP1jdBil+c4e+0tdywT2oJmYB\nBF/kEt1wmGwMmHunNEuQNzh1FtJY54hbUfiWi38mASE7xMtMhfj/C4SvapiDN837\ngYaPfs8x3KZxbX7C3YAsFnJinlwAUss1fdKar8Q/YVs7H/nU4c4Ixxxz4f67fcVq\nM2ITKentbCMCAwEAAaOCAk4wggJKMAwGA1UdEwQFMAMBAf8wDgYDVR0PAQH/BAQD\nAgHGMB0GA1UdDgQWBBT6VQ2MNGZRQ0z357OnbJWveuaklzCBygYDVR0jBIHCMIG/\ngBT6VQ2MNGZRQ0z357OnbJWveuakl6GBm6SBmDCBlTERMA8GA1UEChMIRnJlZSBU\nU0ExEDAOBgNVBAsTB1Jvb3QgQ0ExGDAWBgNVBAMTD3d3dy5mcmVldHNhLm9yZzEi\nMCAGCSqGSIb3DQEJARYTYnVzaWxlemFzQGdtYWlsLmNvbTESMBAGA1UEBxMJV3Vl\ncnpidXJnMQ8wDQYDVQQIEwZCYXllcm4xCzAJBgNVBAYTAkRFggkAwemGFg2o6YAw\nMwYDVR0fBCwwKjAooCagJIYiaHR0cDovL3d3dy5mcmVldHNhLm9yZy9yb290X2Nh\nLmNybDCBzwYDVR0gBIHHMIHEMIHBBgorBgEEAYHyJAEBMIGyMDMGCCsGAQUFBwIB\nFidodHRwOi8vd3d3LmZyZWV0c2Eub3JnL2ZyZWV0c2FfY3BzLmh0bWwwMgYIKwYB\nBQUHAgEWJmh0dHA6Ly93d3cuZnJlZXRzYS5vcmcvZnJlZXRzYV9jcHMucGRmMEcG\nCCsGAQUFBwICMDsaOUZyZWVUU0EgdHJ1c3RlZCB0aW1lc3RhbXBpbmcgU29mdHdh\ncmUgYXMgYSBTZXJ2aWNlIChTYWFTKTA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUH\nMAGGG2h0dHA6Ly93d3cuZnJlZXRzYS5vcmc6MjU2MDANBgkqhkiG9w0BAQ0FAAOC\nAgEAaK9+v5OFYu9M6ztYC+L69sw1omdyli89lZAfpWMMh9CRmJhM6KBqM/ipwoLt\nnxyxGsbCPhcQjuTvzm+ylN6VwTMmIlVyVSLKYZcdSjt/eCUN+41K7sD7GVmxZBAF\nILnBDmTGJmLkrU0KuuIpj8lI/E6Z6NnmuP2+RAQSHsfBQi6sssnXMo4HOW5gtPO7\ngDrUpVXID++1P4XndkoKn7Svw5n0zS9fv1hxBcYIHPPQUze2u30bAQt0n0iIyRLz\naWuhtpAtd7ffwEbASgzB7E+NGF4tpV37e8KiA2xiGSRqT5ndu28fgpOY87gD3ArZ\nDctZvvTCfHdAS5kEO3gnGGeZEVLDmfEsv8TGJa3AljVa5E40IQDsUXpQLi8G+UC4\n1DWZu8EVT4rnYaCw1VX7ShOR1PNCCvjb8S8tfdudd9zhU3gEB0rxdeTy1tVbNLXW\n99y90xcwr1ZIDUwM/xQ/noO8FRhm0LoPC73Ef+J4ZBdrvWwauF3zJe33d4ibxEcb\n8/pz5WzFkeixYM2nsHhqHsBKw7JPouKNXRnl5IAE1eFmqDyC7G/VT7OF669xM6hb\nUt5G21JE4cNK6NNucS+fzg1JPX0+3VhsYZjj7D5uljRvQXrJ8iHgr/M6j2oLHvTA\nI2MLdq2qjZFDOCXsxBxJpbmLGBx9ow6ZerlUxzws2AWv2pk=\n-----END CERTIFICATE-----\n`\n","// ============================================================================\n// SignWho public verifier — the actual checks (pure, framework-free, testable).\n// Everything runs locally in the caller's environment (browser); no network.\n// Uses the SHARED signing crypto (./signwho-crypto) so the verifier can never\n// drift from the signer over a formula.\n// ============================================================================\nimport * as pkijs from 'pkijs'\nimport { PDFDocument, PDFName, PDFDict, PDFArray, PDFRawStream } from 'pdf-lib'\nimport { inflate } from 'pako' // pako 3: named exports only (no default export in its ESM build)\nimport {\n hashArrayBuffer, base64UrlToBytes,\n computeTriangleHash, computeWebAuthnChallenge,\n} from './signwho-crypto'\nimport { FREETSA_CA_PEM } from './freetsa-cacert'\n\nexport type CheckStatus = 'pass' | 'fail' | 'skip' | 'info'\n// `facts`: values a check AUTHENTICATED while passing (e.g. the TSA's genTime and serial, read\n// from the signed token rather than from the evidence's own copy). Machine-readable so the\n// dispute summary reports verified facts; the UI shows `detail`.\nexport interface CheckResult { id: string; label: string; status: CheckStatus; detail: string; facts?: Record<string, string> }\n\n// Minimal shape of the standalone evidence.json (see SignatureEvidence in App.tsx).\nexport interface Evidence {\n documentHash?: string\n selfieHash?: string\n biometricTimestamp?: number\n triangleHash?: string\n signedPdfHash?: string\n faceDetected?: boolean\n selfieIncluded?: boolean // explicitly false on the no-selfie path (TSA covers documentHash)\n signerName?: string\n documentName?: string\n webauthnProof?: {\n publicKey?: string; alg?: number; authenticatorData?: string\n clientDataJSON?: string; signature?: string; challenge?: string; challengeNonce?: string\n }\n tsaTimestamp?: { token?: string; genTime?: string | null; tsa?: string; serial?: string | null }\n // Not verification inputs — read only by the dispute summary (lib/dispute-summary.ts), which\n // reports what the package carries and says \"not recorded\" for what it does not.\n authMethod?: 'biometric' | 'passkey' | 'manual'\n timestamp?: number\n completedAt?: number\n senderEmail?: string\n auditEvents?: { type: string; timestamp: number; ip: string | null; senderEmail: string | null; signerEmail: string | null }[]\n}\n\nconst toHex = (b: Uint8Array) => Array.from(b).map(x => x.toString(16).padStart(2, '0')).join('')\nconst eqHex = (a?: string, b?: string) => !!a && !!b && a.toLowerCase() === b.toLowerCase()\nconst ab = (u: Uint8Array): ArrayBuffer => u.buffer.slice(u.byteOffset, u.byteOffset + u.byteLength) as ArrayBuffer\n\nfunction base64ToBytes(s: string): Uint8Array {\n const bin = atob(s.replace(/\\s+/g, ''))\n const out = new Uint8Array(bin.length)\n for (let i = 0; i < bin.length; i++) out[i] = bin.charCodeAt(i)\n return out\n}\n\n// DER ECDSA SEQUENCE{INTEGER r, INTEGER s} → raw r‖s (each left-padded to `size`).\nfunction derEcdsaToRaw(der: Uint8Array, size: number): Uint8Array {\n let i = 0\n if (der[i++] !== 0x30) throw new Error('bad der seq')\n if (der[i] & 0x80) { i += 1 + (der[i] & 0x7f) } else i++\n if (der[i++] !== 0x02) throw new Error('bad der r')\n let rl = der[i++]; let r = der.slice(i, i + rl); i += rl\n if (der[i++] !== 0x02) throw new Error('bad der s')\n let sl = der[i++]; let s = der.slice(i, i + sl)\n const strip = (x: Uint8Array) => { let j = 0; while (j < x.length - 1 && x[j] === 0) j++; return x.slice(j) }\n r = strip(r); s = strip(s)\n const out = new Uint8Array(size * 2)\n out.set(r, size - r.length); out.set(s, size * 2 - s.length)\n return out\n}\n\nconst curveSize = (c?: string) => (c === 'P-521' ? 66 : c === 'P-384' ? 48 : 32)\nconst DIGEST_OIDS: Record<string, string> = {\n '2.16.840.1.101.3.4.2.1': 'SHA-256', '2.16.840.1.101.3.4.2.2': 'SHA-384',\n '2.16.840.1.101.3.4.2.3': 'SHA-512', '1.3.14.3.2.26': 'SHA-1',\n}\n\n// In the browser pkijs auto-uses window.crypto; in Node (tests) we wire globalThis.crypto.\nfunction ensurePkijsEngine() {\n try { const e = pkijs.getEngine(); if (e && (e as { subtle?: unknown }).subtle) return } catch { /* set below */ }\n pkijs.setEngine('signwho', new pkijs.CryptoEngine({ name: 'signwho', crypto: globalThis.crypto }))\n}\n\n// ---- 1. File integrity ----\nexport async function checkFileIntegrity(pdfBytes: Uint8Array | null, ev: Evidence): Promise<CheckResult> {\n const id = 'file', label = 'File matches the signed record'\n if (!ev.signedPdfHash) return { id, label, status: 'skip', detail: 'This evidence.json has no signedPdfHash. Use the STANDALONE evidence.json from the email/download (the copy embedded in the PDF omits it by design).' }\n if (!pdfBytes) return { id, label, status: 'skip', detail: 'Provide the signed PDF to check it against signedPdfHash.' }\n try {\n const hex = await hashArrayBuffer(ab(pdfBytes))\n return eqHex(hex, ev.signedPdfHash)\n ? { id, label, status: 'pass', detail: `SHA-256 of the PDF you provided equals evidence.signedPdfHash (${hex.slice(0, 16)}…).` }\n : { id, label, status: 'fail', detail: `SHA-256 of the provided PDF (${hex.slice(0, 16)}…) does NOT match evidence.signedPdfHash (${ev.signedPdfHash.slice(0, 16)}…). This is not the delivered file, or it was modified.` }\n } catch (e) { return { id, label, status: 'fail', detail: 'Could not hash the PDF: ' + (e as Error).message } }\n}\n\n// ---- 2. Triangle hash ----\nexport async function checkTriangleHash(ev: Evidence): Promise<CheckResult> {\n const id = 'triangle', label = 'Triangle Authentication binding intact'\n if (ev.selfieIncluded === false)\n return { id, label, status: 'skip', detail: 'No selfie — the signer completed without a camera capture, so there is no selfie/time/document Triangle binding for this signature (by design, not a failure).' }\n if (!ev.selfieHash || ev.biometricTimestamp == null || !ev.documentHash || !ev.triangleHash)\n return { id, label, status: 'skip', detail: 'Missing fields (selfieHash / biometricTimestamp / documentHash / triangleHash).' }\n try {\n const recomputed = await computeTriangleHash(ev.selfieHash, ev.biometricTimestamp, ev.documentHash)\n return eqHex(recomputed, ev.triangleHash)\n ? { id, label, status: 'pass', detail: 'SHA-256(selfieHash || biometricTimestamp || documentHash) equals evidence.triangleHash — the three artifacts are bound together.' }\n : { id, label, status: 'fail', detail: 'Recomputed triangleHash does not match evidence.triangleHash — a bound component was altered.' }\n } catch (e) { return { id, label, status: 'fail', detail: (e as Error).message } }\n}\n\n// ---- 3. WebAuthn assertion ----\nexport async function checkWebAuthn(ev: Evidence): Promise<CheckResult> {\n const id = 'webauthn', label = 'Signature cryptographically verified (WebAuthn)'\n const p = ev.webauthnProof\n if (!p || !p.signature) return { id, label, status: 'skip', detail: 'No WebAuthn assertion in this signature (signer had no usable platform/roaming authenticator — recorded as manual/passkey).' }\n if (!ev.documentHash || !p.challengeNonce || !p.clientDataJSON || !p.authenticatorData || !p.publicKey || (p.alg !== -7 && p.alg !== -257))\n return { id, label, status: 'fail', detail: 'Assertion is missing required fields (publicKey/alg/authenticatorData/clientDataJSON/challengeNonce).' }\n try {\n // (a) recompute the document-bound challenge and confirm it matches the signed clientDataJSON\n const expected = await computeWebAuthnChallenge(ev.documentHash, p.challengeNonce)\n const cdj = JSON.parse(new TextDecoder().decode(base64UrlToBytes(p.clientDataJSON)))\n if (cdj.type !== 'webauthn.get') return { id, label, status: 'fail', detail: `clientDataJSON.type is \"${cdj.type}\", expected \"webauthn.get\".` }\n if (cdj.challenge !== expected) return { id, label, status: 'fail', detail: 'The challenge in clientDataJSON is not SHA-256(documentHash || challengeNonce) — the assertion is not bound to this document.' }\n if (p.challenge && p.challenge !== expected) return { id, label, status: 'fail', detail: 'Stored challenge does not match the recomputed document-bound challenge.' }\n\n // (b) verify the signature over authenticatorData ‖ SHA-256(clientDataJSON)\n const authData = base64UrlToBytes(p.authenticatorData)\n const cdjBytes = base64UrlToBytes(p.clientDataJSON)\n const cdjHash = new Uint8Array(await crypto.subtle.digest('SHA-256', ab(cdjBytes)))\n const signed = new Uint8Array(authData.length + cdjHash.length)\n signed.set(authData, 0); signed.set(cdjHash, authData.length)\n const spki = base64UrlToBytes(p.publicKey)\n const sig = base64UrlToBytes(p.signature)\n\n let ok: boolean\n if (p.alg === -7) {\n const key = await crypto.subtle.importKey('spki', ab(spki), { name: 'ECDSA', namedCurve: 'P-256' }, false, ['verify'])\n ok = await crypto.subtle.verify({ name: 'ECDSA', hash: 'SHA-256' }, key, ab(derEcdsaToRaw(sig, 32)), ab(signed))\n } else {\n const key = await crypto.subtle.importKey('spki', ab(spki), { name: 'RSASSA-PKCS1-v1_5', hash: 'SHA-256' }, false, ['verify'])\n ok = await crypto.subtle.verify({ name: 'RSASSA-PKCS1-v1_5' }, key, ab(sig), ab(signed))\n }\n if (!ok) return { id, label, status: 'fail', detail: 'The WebAuthn assertion signature did not verify against the stored public key.' }\n const uv = (authData[32] & 0x04) !== 0\n return { id, label, status: 'pass', detail: `Assertion over the document-bound challenge verifies against the public key (${p.alg === -7 ? 'ES256' : 'RS256'})${uv ? ', user verification (biometric/PIN) flag set' : ''}. Proves the private key holder signed THIS document.` }\n } catch (e) { return { id, label, status: 'fail', detail: 'Verification error: ' + (e as Error).message } }\n}\n\n// ---- 4. RFC-3161 timestamp (FreeTSA) ----\nexport async function checkTsa(ev: Evidence): Promise<CheckResult> {\n const id = 'tsa', label = 'Timestamp valid (FreeTSA, non-qualified)'\n const t = ev.tsaTimestamp\n if (!t || !t.token) return { id, label, status: 'skip', detail: 'No RFC-3161 timestamp (best-effort at signing; FreeTSA may have been unreachable).' }\n // With a selfie the TSA covers the triangleHash; on the no-selfie path it covers the documentHash.\n const tsaTarget = ev.triangleHash || ev.documentHash\n const tsaTargetName = ev.triangleHash ? 'triangleHash' : 'documentHash'\n if (!tsaTarget) return { id, label, status: 'fail', detail: 'Cannot check the timestamp without a triangleHash or documentHash to match.' }\n try {\n ensurePkijsEngine()\n const tokenBytes = base64ToBytes(t.token)\n const ci = pkijs.ContentInfo.fromBER(ab(tokenBytes))\n const sd = new pkijs.SignedData({ schema: ci.content })\n const si = sd.signerInfos[0]\n const digAlg = DIGEST_OIDS[si.digestAlgorithm.algorithmId] || 'SHA-256'\n\n const ecView = si ? sd.encapContentInfo.eContent!.valueBlock.valueHexView : new Uint8Array()\n const eContent = ab(ecView)\n const tst = pkijs.TSTInfo.fromBER(eContent)\n\n // (a) messageImprint == the recorded triangleHash (with selfie) or documentHash (no selfie)\n const mi = toHex(new Uint8Array(tst.messageImprint.hashedMessage.valueBlock.valueHexView))\n if (!eqHex(mi, tsaTarget)) return { id, label, status: 'fail', detail: `The timestamp covers a different hash than evidence.${tsaTargetName}.` }\n\n // (b) messageDigest signed-attr == digest(eContent)\n let md: Uint8Array | null = null\n for (const a of si.signedAttrs?.attributes || []) if (a.type === '1.2.840.113549.1.9.4') md = new Uint8Array(a.values[0].valueBlock.valueHexView)\n const ecHash = new Uint8Array(await crypto.subtle.digest(digAlg, eContent))\n if (!md || toHex(md) !== toHex(ecHash)) return { id, label, status: 'fail', detail: 'The signed messageDigest does not match the timestamp content.' }\n\n // (c) SignerInfo signature over signedAttrs (DER SET, tag 0x31)\n const sa = new Uint8Array((si.signedAttrs!.encodedValue as ArrayBuffer).slice(0)); sa[0] = 0x31\n const signerCert = (sd.certificates as pkijs.Certificate[] | undefined)?.find(c => { try { return c.serialNumber.isEqual(si.sid.serialNumber) } catch { return false } }) || (sd.certificates as pkijs.Certificate[])[0]\n const isEc = si.signatureAlgorithm.algorithmId.startsWith('1.2.840.10045')\n let sigOk: boolean\n if (isEc) {\n const pub = await signerCert.getPublicKey()\n const raw = derEcdsaToRaw(new Uint8Array(si.signature.valueBlock.valueHexView), curveSize((pub.algorithm as EcKeyAlgorithm).namedCurve))\n sigOk = await crypto.subtle.verify({ name: 'ECDSA', hash: digAlg }, pub, ab(raw), ab(sa))\n } else {\n const pub = await signerCert.getPublicKey({ algorithm: { algorithm: { name: 'RSASSA-PKCS1-v1_5', hash: digAlg }, usages: ['verify'] } })\n sigOk = await crypto.subtle.verify({ name: 'RSASSA-PKCS1-v1_5' }, pub, ab(new Uint8Array(si.signature.valueBlock.valueHexView)), ab(sa))\n }\n if (!sigOk) return { id, label, status: 'fail', detail: 'The TSA signature over the timestamp did not verify.' }\n\n // (d) chain the TSA signing cert to the bundled FreeTSA CA — AS OF genTime, NOT \"now\". A\n // timestamp proves a fact as of genTime, so the chain must be valid then; validating as of now\n // would make a signature that was valid at signing read FAIL once FreeTSA's signing cert\n // eventually expires (breaking long-term verifiability). genTime comes from the TSTInfo, which\n // steps (b)+(c) already authenticated — so it can't be attacker-shifted without breaking the\n // signature; the bundled CA stays the trust anchor.\n const genTimeDate = tst.genTime instanceof Date ? tst.genTime : new Date(String(tst.genTime))\n if (isNaN(genTimeDate.getTime())) return { id, label, status: 'fail', detail: 'The timestamp has no readable genTime.' }\n const nb = signerCert.notBefore.value, na = signerCert.notAfter.value\n if (genTimeDate < nb || genTimeDate > na) return { id, label, status: 'fail', detail: `genTime (${genTimeDate.toISOString()}) is outside the TSA signing certificate's validity window (${nb.toISOString()} … ${na.toISOString()}).` }\n const pem = FREETSA_CA_PEM.replace(/-----[^-]+-----/g, '').replace(/\\s+/g, '')\n const caDer = base64ToBytes(pem)\n const ca = pkijs.Certificate.fromBER(ab(caDer))\n const chain = await new pkijs.CertificateChainValidationEngine({ certs: [signerCert], trustedCerts: [ca], checkDate: genTimeDate }).verify()\n if (!chain.result) return { id, label, status: 'fail', detail: 'The TSA certificate does not chain to the bundled FreeTSA CA as of genTime (code ' + chain.resultCode + ').' }\n\n const gt = genTimeDate.toISOString()\n return { id, label, status: 'pass', facts: { genTime: genTimeDate.toISOString(), serial: toHex(new Uint8Array(tst.serialNumber.valueBlock.valueHexView)) }, detail: `FreeTSA attests this signature's ${tsaTargetName} existed at ${gt} (RFC-3161, ${digAlg}; chain validated to the bundled FreeTSA CA as of that time). Non-qualified TSA.` }\n } catch (e) { return { id, label, status: 'fail', detail: 'Timestamp parse/verify error: ' + (e as Error).message } }\n}\n\n// ---- Honest non-cryptographic note: the selfie is captured, NOT identity-verified ----\nexport function selfieNote(ev: Evidence): CheckResult {\n if (ev.selfieIncluded === false) {\n return {\n id: 'selfie', label: 'No selfie — not captured', status: 'info',\n detail: `This signature was completed WITHOUT a selfie (the signer couldn't or chose not to use a camera). ${ev.webauthnProof ? 'It is device-verified (WebAuthn) and timestamped, but carries no photographic evidence and no identity binding.' : 'It carries neither a selfie nor a device signature — it is document + timestamp only, the lowest assurance tier.'}`,\n }\n }\n return {\n id: 'selfie', label: 'Selfie captured — not identity-verified', status: 'info',\n detail: `A selfie was captured at signing (hash bound into the Triangle, verified above). ${ev.faceDetected ? 'A face was detected by an in-browser heuristic. ' : ''}This is NOT identity verification — SignWho does not match the face to a government ID or a real-world identity.`,\n }\n}\n\n// ---- Honest consistency flag: the TSA time vs the signer's self-declared signing time ----\n// The token is requested seconds after the ceremony, so a gap of more than a few minutes\n// between the AUTHENTICATED genTime (from the passing TSA check) and evidence.timestamp is\n// something a reviewer should see. It is a NOTE, never a failure: the timestamp itself is\n// still valid, and `timestamp` is not a verification input. Returns null when there is no\n// passing TSA check, no recorded signing time, or the gap is within the threshold.\nexport const TSA_GAP_NOTE_THRESHOLD_MS = 10 * 60 * 1000\n\nexport function describeGap(ms: number): string {\n const abs = Math.abs(ms)\n const minutes = Math.round(abs / 60_000)\n if (minutes < 120) return `${minutes} minute${minutes === 1 ? '' : 's'}`\n const hours = Math.round(abs / 3_600_000)\n if (hours < 48) return `${hours} hours`\n const days = Math.round(abs / 86_400_000)\n return `${days} days`\n}\n\nexport function timestampGapNote(ev: Evidence, tsaCheck: CheckResult | undefined): CheckResult | null {\n if (!tsaCheck || tsaCheck.status !== 'pass' || !tsaCheck.facts?.genTime) return null\n if (typeof ev.timestamp !== 'number' || !Number.isFinite(ev.timestamp)) return null\n const genMs = Date.parse(tsaCheck.facts.genTime)\n if (Number.isNaN(genMs)) return null\n const gap = genMs - ev.timestamp\n if (Math.abs(gap) <= TSA_GAP_NOTE_THRESHOLD_MS) return null\n const when = gap > 0 ? 'after' : 'before'\n return {\n id: 'tsa-gap', label: `Timestamp obtained ${describeGap(gap)} ${when} the recorded signing time`, status: 'info',\n detail: `The independent timestamp was obtained ${describeGap(gap)} ${when} the recorded signing time (genTime ${tsaCheck.facts.genTime}, evidence.timestamp ${new Date(ev.timestamp).toISOString()}). The token is still valid — it proves the hash existed at genTime — but the signer's declared time and the third-party time disagree by more than ${TSA_GAP_NOTE_THRESHOLD_MS / 60_000} minutes.`,\n facts: { gapMs: String(gap) },\n }\n}\n\nexport async function runAllChecks(pdfBytes: Uint8Array | null, ev: Evidence): Promise<CheckResult[]> {\n const tsa = await checkTsa(ev)\n const gap = timestampGapNote(ev, tsa)\n return [\n await checkFileIntegrity(pdfBytes, ev),\n await checkWebAuthn(ev),\n tsa,\n await checkTriangleHash(ev),\n selfieNote(ev),\n ...(gap ? [gap] : []),\n ]\n}\n\n// ---- Embedded evidence (the \"save the PDF = hold the evidence\" path) ----\n// Best-effort: pull the evidence.json embedded inside the signed PDF. The embedded copy omits\n// signedPdfHash by design, so file-integrity still needs the standalone evidence.json. Returns\n// null if no embedded evidence is found. Relocated verbatim from verify.tsx so the embedded path\n// is testable outside the UI.\nexport async function extractEmbeddedEvidence(pdfBytes: Uint8Array): Promise<Evidence | null> {\n try {\n const doc = await PDFDocument.load(pdfBytes, { ignoreEncryption: true, updateMetadata: false })\n const names = doc.catalog.lookupMaybe(PDFName.of('Names'), PDFDict)\n const ef = names?.lookupMaybe(PDFName.of('EmbeddedFiles'), PDFDict)\n const arr = ef?.lookupMaybe(PDFName.of('Names'), PDFArray)\n if (!arr) return null\n for (let i = 0; i + 1 < arr.size(); i += 2) {\n const filespec = arr.lookup(i + 1, PDFDict)\n const efDict = filespec.lookupMaybe(PDFName.of('EF'), PDFDict)\n const stream = efDict?.lookup(PDFName.of('F')) as unknown as PDFRawStream | undefined\n if (!stream || !(stream instanceof PDFRawStream)) continue\n let bytes: Uint8Array = stream.contents\n const filter = stream.dict.get(PDFName.of('Filter'))\n if (filter && filter.toString().includes('FlateDecode')) bytes = inflate(bytes)\n const text = new TextDecoder().decode(bytes)\n if (text.trim().startsWith('{')) return JSON.parse(text) as Evidence\n }\n } catch { /* fall through to null */ }\n return null\n}\n\n// ---- Assurance tier ----\n// Derived ONLY from the evidence the checks actually ran on and the results of those checks —\n// never from UI state. (verify.tsx once derived it from a React `evidence` state that stayed\n// null when the evidence came out of the PDF, so a full Triangle signature was labelled\n// \"device-verified, no selfie\" while the triangle check itself read PASS.)\n//\n// identity — the package carries a selfie (selfieHash + triangleHash): the full Triangle.\n// device — no selfie, but the WebAuthn assertion verified: a device-held key signed it.\n// floor — no selfie and no verified device signature: document + timestamp only.\n//\n// The tier describes what the package CLAIMS and, for `device`, what verified. Whether the\n// identity-tier claims hold is what `allGood` on the report says — the UI shows a tier only when\n// every applicable check passed.\nexport type AssuranceTier = 'identity' | 'device' | 'floor'\n\nexport function deriveTier(ev: Evidence, checks: CheckResult[]): AssuranceTier {\n const noSelfie = ev.selfieIncluded === false || (!ev.triangleHash && !ev.selfieHash)\n if (!noSelfie) return 'identity'\n const webauthnPass = checks.find(c => c.id === 'webauthn')?.status === 'pass'\n return webauthnPass ? 'device' : 'floor'\n}\n\n// One object that carries the evidence that was checked, the check results, and everything\n// derived from them. The UI stores and displays this; it never re-derives from its own state.\nexport interface VerificationReport {\n evidence: Evidence\n checks: CheckResult[]\n tier: AssuranceTier\n passes: number\n fails: number\n allGood: boolean\n}\n\nexport async function verifyPackage(pdfBytes: Uint8Array | null, ev: Evidence): Promise<VerificationReport> {\n const checks = await runAllChecks(pdfBytes, ev)\n const passes = checks.filter(c => c.status === 'pass').length\n const fails = checks.filter(c => c.status === 'fail').length\n return { evidence: ev, checks, tier: deriveTier(ev, checks), passes, fails, allGood: fails === 0 && passes > 0 }\n}\n","// ============================================================================\n// Dispute summary — a plain-text digest of a verified signature package, in the order a card\n// network's dispute form asks for evidence (Stripe's `evidence` object: customer name and\n// e-mail, the customer's IP, when the service was delivered, the customer's signature and the\n// service documentation, then the rest). Built in the browser from the VerificationReport that\n// /verify already holds — nothing is fetched and nothing is inferred: a field the package does\n// not carry says so instead of being left blank, so the merchant never pastes a guess into a\n// dispute response. Pure (no DOM): tested in dispute-summary.test.ts.\n// ============================================================================\nimport type { VerificationReport, CheckResult } from './verify-checks'\n\nexport interface DisputeSummaryInputs {\n report: VerificationReport\n generatedAt: Date\n pdfName?: string // the file the user dropped\n evidenceFileName?: string // the evidence.json the user dropped\n evidenceSource: 'standalone' | 'embedded' | null // where the evidence came from\n isSample?: boolean // the bundled demo package\n}\n\nexport interface DisputeSummary { text: string; filename: string }\n\nexport const VERIFY_URL = 'https://signwho.com/verify'\nconst NOT_RECORDED = 'not recorded in this package'\n\n// \"2026-06-14 07:22:56 UTC\" from epoch milliseconds or an ISO string; null when absent/invalid.\nexport function utcStamp(value: number | string | null | undefined): string | null {\n if (value === null || value === undefined || value === '') return null\n const d = new Date(value)\n if (Number.isNaN(d.getTime())) return null\n return d.toISOString().replace('T', ' ').replace(/\\.\\d{3}Z$/, ' UTC')\n}\n\n// The download name: the document's base name with anything outside [A-Za-z0-9._-] collapsed\n// to '-', so it is safe on every OS and readable (\"NDA (final).pdf\" → \"NDA-final\").\nexport function disputeSummaryFilename(documentName: string | undefined): string {\n const base = (documentName || '').replace(/\\.pdf$/i, '').replace(/[^A-Za-z0-9._-]+/g, '-').replace(/^-+|-+$/g, '')\n return `SignWho-Dispute-Summary-${base || 'document'}.txt`\n}\n\nconst TIER_LABEL = {\n identity: 'Identity-bound — selfie, device signature and independent timestamp',\n device: 'Device-verified, no selfie — device signature and independent timestamp',\n floor: 'Document + timestamp only — neither identity nor device verified',\n} as const\n\nconst TAG: Record<CheckResult['status'], string> = { pass: 'PASS', fail: 'FAIL', skip: 'N/A ', info: 'NOTE' }\n\nexport function buildDisputeSummary(input: DisputeSummaryInputs): DisputeSummary {\n const { report, generatedAt, evidenceSource, isSample } = input\n const ev = report.evidence\n const events = ev.auditEvents || []\n const created = events.find(e => e.type === 'document_created')\n const viewed = events.find(e => e.type === 'document_viewed')\n const signed = events.find(e => e.type === 'document_signed')\n\n const customerName = ev.signerName || NOT_RECORDED\n const customerEmail = signed?.signerEmail || viewed?.signerEmail || NOT_RECORDED\n const merchantEmail = ev.senderEmail || created?.senderEmail || NOT_RECORDED\n const signedAt = utcStamp(signed?.timestamp ?? ev.completedAt ?? ev.timestamp)\n // The independent timestamp: what the TSA check AUTHENTICATED from the signed token (facts),\n // not the evidence's own copy of it. The copy is used only when the check did not pass, and\n // is labelled as unverified.\n const tsaCheck = report.checks.find(c => c.id === 'tsa')\n const tsaVerified = tsaCheck?.status === 'pass' && !!tsaCheck.facts?.genTime\n const genTime = utcStamp(tsaVerified ? tsaCheck.facts!.genTime : ev.tsaTimestamp?.genTime)\n const tsaSerial = tsaVerified ? tsaCheck.facts!.serial : ev.tsaTimestamp?.serial\n const noSelfie = ev.selfieIncluded === false || (!ev.selfieHash && !ev.triangleHash)\n\n const ipValue = (e?: { ip: string | null; timestamp: number }) => e?.ip ? `${e.ip} (${utcStamp(e.timestamp)})` : null\n\n const L: string[] = []\n const section = (n: number, title: string, stripe: string) => { L.push('', `${n}. ${title}`, ` (Stripe evidence fields: ${stripe})`) }\n const row = (label: string, value: string | null | undefined) => { L.push(` ${label.padEnd(28)}${value || NOT_RECORDED}`) }\n\n L.push('SIGNWHO — PAYMENT DISPUTE SUMMARY')\n L.push(`Generated ${utcStamp(generatedAt.getTime())} by the independent verifier at ${VERIFY_URL}.`)\n L.push('Every check below ran in the browser from the two files alone; no SignWho server was consulted.')\n if (isSample) L.push('THIS IS SIGNWHO\\'S BUNDLED SAMPLE PACKAGE — a demonstration, not a real agreement.')\n if (!report.allGood) {\n L.push('', `WARNING: ${report.fails} check(s) FAILED — this package does not verify. Do not rely on it as-is.`)\n }\n\n section(1, 'CUSTOMER', 'customer_name, customer_email_address')\n row('Name (as signed):', customerName)\n row('E-mail:', customerEmail)\n row('Assurance level:', TIER_LABEL[report.tier])\n\n section(2, 'CUSTOMER IP ADDRESSES', 'customer_purchase_ip')\n row('Viewed the document from:', ipValue(viewed))\n row('Signed the document from:', ipValue(signed))\n\n section(3, 'TIMESTAMPS (UTC)', 'service_date, customer_communication')\n row('Document sent:', utcStamp(created?.timestamp))\n row('Document viewed:', utcStamp(viewed?.timestamp))\n row('Document signed:', signedAt)\n row('Independent timestamp:', genTime\n ? `${genTime} — ${ev.tsaTimestamp?.tsa || 'RFC 3161 TSA'}${tsaSerial ? `, token serial ${tsaSerial}` : ''} ${tsaVerified ? '(RFC 3161, third party)' : '(declared in the evidence, NOT verified by the timestamp check)'}`\n : null)\n // The verifier's consistency flag (tsa-gap, status \"info\"): the third-party time and the\n // signer's declared time disagree by more than a few minutes. Surfaced next to the times it\n // is about, in addition to its row in the check results below.\n const gapNote = report.checks.find(c => c.id === 'tsa-gap')\n if (gapNote) L.push(` NOTE: ${gapNote.detail}`)\n\n section(4, 'DOCUMENT', 'customer_signature, service_documentation')\n row('Document name:', ev.documentName)\n row('Sent by (merchant):', merchantEmail)\n row('SHA-256, signed PDF:', ev.signedPdfHash\n || (evidenceSource === 'embedded' ? 'not present — the evidence was read from inside the PDF; the standalone evidence.json carries the file hash' : null))\n row('SHA-256, original document:', ev.documentHash)\n row('Signature method:', ev.authMethod === 'biometric' ? 'device biometric (Face ID / fingerprint / Windows Hello) — WebAuthn assertion'\n : ev.authMethod === 'passkey' ? 'device passkey — WebAuthn assertion'\n : ev.authMethod === 'manual' ? 'manual (no device signature)' : ev.webauthnProof ? 'WebAuthn assertion' : null)\n row('Customer\\'s face:', noSelfie\n ? 'no selfie was captured for this signature'\n : `a selfie was captured at signing (SHA-256 ${ev.selfieHash || NOT_RECORDED}); the image is printed on the certificate page of the signed PDF`)\n\n section(5, `VERIFICATION RESULTS — ${report.passes} of ${report.checks.filter(c => c.status !== 'info').length} checks passed`, 'uncategorized_text')\n for (const c of report.checks) {\n L.push(` [${TAG[c.status]}] ${c.label}`)\n L.push(` ${c.detail}`)\n }\n\n L.push('', '6. HOW TO RE-VERIFY (for the card network or the customer\\'s bank)')\n L.push(` Open the signed PDF and the evidence.json at ${VERIFY_URL} — the checks run in the browser, nothing is uploaded.`)\n L.push(' Attach both files to the dispute: the signed PDF as the customer\\'s signature, the evidence.json as the service documentation.')\n if (input.pdfName || input.evidenceFileName) {\n L.push(` Files verified for this summary: ${[input.pdfName, input.evidenceFileName].filter(Boolean).join(', ')}`)\n }\n L.push(' The algorithms are public standards (SHA-256, WebAuthn/FIDO2, RFC 3161); anyone can re-run them with open tools.')\n L.push('')\n\n return { text: L.join('\\n'), filename: disputeSummaryFilename(ev.documentName) }\n}\n"]}
@@ -0,0 +1,67 @@
1
+ 'use strict';
2
+
3
+ // src/sample-package.ts
4
+ var SAMPLE_EVIDENCE = {
5
+ "signerName": "Sample Signer",
6
+ "documentName": "SignWho-sample-agreement.pdf",
7
+ "documentHash": "3d5e2d2492d71bee0ff3dfa6e8b8acc0cc4bd77b42df2833ffbd2188d7ec0e18",
8
+ "selfieHash": "703aa39e94d1fb550ceb44669ae0681ca65433c0cdf7b59a92c2df5a5a5a4315",
9
+ "biometricTimestamp": 1789021235189,
10
+ "authMethod": "biometric",
11
+ "triangleHash": "53c356b3dd0e818faff8cddc6627b33cb4785be47d0e35ab3b91904c06a0fedb",
12
+ "timestamp": 1789021235851,
13
+ "faceDetected": false,
14
+ "webauthnProof": {
15
+ "credentialId": "ZjVExoU-TtE592XsI7nt2g",
16
+ "publicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgweyozCENvMByHwVVIntNxOqZBjZt7KSbzAg2nZrnzSAdtJvsU4cg6hXtHzcMoVSkCkhZPvazJgaxaQlpBoIBA",
17
+ "alg": -7,
18
+ "authenticatorData": "u27dwQmRuIDQOJ0ZYYKQssF_OyHzotAvQJaDIErZEYAFAAAAAA",
19
+ "clientDataJSON": "eyJ0eXBlIjoid2ViYXV0aG4uZ2V0IiwiY2hhbGxlbmdlIjoiQUViTURQdlBpbGQta0h4NlFWenJJQzdmV1lTcVp6anJGSl9LTlpLLWNyUSIsIm9yaWdpbiI6Imh0dHBzOi8vc2lnbndoby5jb20iLCJjcm9zc09yaWdpbiI6ZmFsc2V9",
20
+ "signature": "MEUCIFhLiNaQ9aLZyio6jtLIFzX64ejqw3rCIHLg4scMYtmNAiEAi_OjmdUspiLhhViQjXBcM8hE7Vh9bUnayTquCIFTqGw",
21
+ "challenge": "AEbMDPvPild-kHx6QVzrIC7fWYSqZzjrFJ_KNZK-crQ",
22
+ "challengeNonce": "JS76NNpW6H2S1oqprMGc9aqcrbstFijib__yTwAceA4"
23
+ },
24
+ "tsaTimestamp": {
25
+ "token": "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",
26
+ "genTime": "2026-09-10T06:20:35Z",
27
+ "serial": "07cf4a6b",
28
+ "tsa": "FreeTSA",
29
+ "tsaUrl": "https://freetsa.org/tsr"
30
+ },
31
+ "senderEmail": "sender@example.com",
32
+ "completedAt": 1789021236155,
33
+ "auditEvents": [
34
+ {
35
+ "type": "document_created",
36
+ "timestamp": 1789021078896,
37
+ "ip": "203.0.113.10",
38
+ "senderEmail": "sender@example.com",
39
+ "signerEmail": null
40
+ },
41
+ {
42
+ "type": "document_viewed",
43
+ "timestamp": 1789021113981,
44
+ "ip": "127.0.0.1",
45
+ "senderEmail": null,
46
+ "signerEmail": "sample.signer@example.com"
47
+ },
48
+ {
49
+ "type": "document_signed",
50
+ "timestamp": 1789021236147,
51
+ "ip": "127.0.0.1",
52
+ "senderEmail": null,
53
+ "signerEmail": "sample.signer@example.com"
54
+ }
55
+ ],
56
+ "signedPdfHash": "c4da700e66aab0e415a66ab851f1a40b9f4b97633f2c2713e8388543ade78204"
57
+ };
58
+ var SAMPLE_PDF_B64 = "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";
59
+
60
+ // src/sample.ts
61
+ var SAMPLE_EVIDENCE2 = SAMPLE_EVIDENCE;
62
+ var SAMPLE_PDF_B642 = SAMPLE_PDF_B64;
63
+
64
+ exports.SAMPLE_EVIDENCE = SAMPLE_EVIDENCE2;
65
+ exports.SAMPLE_PDF_B64 = SAMPLE_PDF_B642;
66
+ //# sourceMappingURL=sample.cjs.map
67
+ //# sourceMappingURL=sample.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sample-package.ts","../src/sample.ts"],"names":["SAMPLE_EVIDENCE","SAMPLE_PDF_B64"],"mappings":";;;AAeO,IAAM,eAAA,GAAkB;AAAA,EAC7B,YAAA,EAAc,eAAA;AAAA,EACd,cAAA,EAAgB,8BAAA;AAAA,EAChB,cAAA,EAAgB,kEAAA;AAAA,EAChB,YAAA,EAAc,kEAAA;AAAA,EACd,oBAAA,EAAsB,aAAA;AAAA,EACtB,YAAA,EAAc,WAAA;AAAA,EACd,cAAA,EAAgB,kEAAA;AAAA,EAChB,WAAA,EAAa,aAAA;AAAA,EACb,cAAA,EAAgB,KAAA;AAAA,EAChB,eAAA,EAAiB;AAAA,IACf,cAAA,EAAgB,wBAAA;AAAA,IAChB,WAAA,EAAa,4HAAA;AAAA,IACb,KAAA,EAAO,EAAA;AAAA,IACP,mBAAA,EAAqB,oDAAA;AAAA,IACrB,gBAAA,EAAkB,kLAAA;AAAA,IAClB,WAAA,EAAa,iGAAA;AAAA,IACb,WAAA,EAAa,6CAAA;AAAA,IACb,gBAAA,EAAkB;AAAA,GACpB;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,OAAA,EAAS,siMAAA;AAAA,IACT,SAAA,EAAW,sBAAA;AAAA,IACX,QAAA,EAAU,UAAA;AAAA,IACV,KAAA,EAAO,SAAA;AAAA,IACP,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,aAAA,EAAe,oBAAA;AAAA,EACf,aAAA,EAAe,aAAA;AAAA,EACf,aAAA,EAAe;AAAA,IACb;AAAA,MACE,MAAA,EAAQ,kBAAA;AAAA,MACR,WAAA,EAAa,aAAA;AAAA,MACb,IAAA,EAAM,cAAA;AAAA,MACN,aAAA,EAAe,oBAAA;AAAA,MACf,aAAA,EAAe;AAAA,KACjB;AAAA,IACA;AAAA,MACE,MAAA,EAAQ,iBAAA;AAAA,MACR,WAAA,EAAa,aAAA;AAAA,MACb,IAAA,EAAM,WAAA;AAAA,MACN,aAAA,EAAe,IAAA;AAAA,MACf,aAAA,EAAe;AAAA,KACjB;AAAA,IACA;AAAA,MACE,MAAA,EAAQ,iBAAA;AAAA,MACR,WAAA,EAAa,aAAA;AAAA,MACb,IAAA,EAAM,WAAA;AAAA,MACN,aAAA,EAAe,IAAA;AAAA,MACf,aAAA,EAAe;AAAA;AACjB,GACF;AAAA,EACA,eAAA,EAAiB;AACnB,CAAA;AAIO,IAAM,cAAA,GAAiB,88nDAAA;;;ACjEvB,IAAMA,gBAAAA,GAA4B;AAClC,IAAMC,eAAAA,GAAyB","file":"sample.cjs","sourcesContent":["// The bundled sample package behind \"Try it with a sample\" on /verify — a REAL, self-consistent\n// SignWho signature, regenerated on 2026-09-10 (wave 6, 6.1) through the actual signer flow\n// against a local Worker (`wrangler dev`): a one-page sample agreement, signer \"Sample Signer\",\n// a captured selfie, a device-bound WebAuthn assertion verified by the Worker (ok: true), and a\n// real FreeTSA RFC 3161 token obtained seconds after the ceremony (genTime and `timestamp`\n// agree to the second). The audit ledger is the local Worker's (loopback IPs).\n// Privacy: the selfie embedded here — and therefore in the public bundle — is a DRAWN placeholder\n// (a grey silhouette labelled \"SAMPLE — not a real person\") fed to the camera step; it is not a\n// photograph of anyone. The WebAuthn key came from a software authenticator (P-256, UP+UV) so the\n// ceremony could run headless; the assertion is otherwise exactly what a platform authenticator\n// produces and verifies against the same checks.\nimport type { Evidence } from './verify-checks'\n\n// Cast (not annotate): a REAL evidence.json carries extra fields the verifier's minimal Evidence\n// type doesn't enumerate (credentialId, serial, …) — exactly like a parsed file at runtime.\nexport const SAMPLE_EVIDENCE = {\n \"signerName\": \"Sample Signer\",\n \"documentName\": \"SignWho-sample-agreement.pdf\",\n \"documentHash\": \"3d5e2d2492d71bee0ff3dfa6e8b8acc0cc4bd77b42df2833ffbd2188d7ec0e18\",\n \"selfieHash\": \"703aa39e94d1fb550ceb44669ae0681ca65433c0cdf7b59a92c2df5a5a5a4315\",\n \"biometricTimestamp\": 1789021235189,\n \"authMethod\": \"biometric\",\n \"triangleHash\": \"53c356b3dd0e818faff8cddc6627b33cb4785be47d0e35ab3b91904c06a0fedb\",\n \"timestamp\": 1789021235851,\n \"faceDetected\": false,\n \"webauthnProof\": {\n \"credentialId\": \"ZjVExoU-TtE592XsI7nt2g\",\n \"publicKey\": \"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgweyozCENvMByHwVVIntNxOqZBjZt7KSbzAg2nZrnzSAdtJvsU4cg6hXtHzcMoVSkCkhZPvazJgaxaQlpBoIBA\",\n \"alg\": -7,\n \"authenticatorData\": \"u27dwQmRuIDQOJ0ZYYKQssF_OyHzotAvQJaDIErZEYAFAAAAAA\",\n \"clientDataJSON\": \"eyJ0eXBlIjoid2ViYXV0aG4uZ2V0IiwiY2hhbGxlbmdlIjoiQUViTURQdlBpbGQta0h4NlFWenJJQzdmV1lTcVp6anJGSl9LTlpLLWNyUSIsIm9yaWdpbiI6Imh0dHBzOi8vc2lnbndoby5jb20iLCJjcm9zc09yaWdpbiI6ZmFsc2V9\",\n \"signature\": \"MEUCIFhLiNaQ9aLZyio6jtLIFzX64ejqw3rCIHLg4scMYtmNAiEAi_OjmdUspiLhhViQjXBcM8hE7Vh9bUnayTquCIFTqGw\",\n \"challenge\": \"AEbMDPvPild-kHx6QVzrIC7fWYSqZzjrFJ_KNZK-crQ\",\n \"challengeNonce\": \"JS76NNpW6H2S1oqprMGc9aqcrbstFijib__yTwAceA4\"\n },\n \"tsaTimestamp\": {\n \"token\": \"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\",\n \"genTime\": \"2026-09-10T06:20:35Z\",\n \"serial\": \"07cf4a6b\",\n \"tsa\": \"FreeTSA\",\n \"tsaUrl\": \"https://freetsa.org/tsr\"\n },\n \"senderEmail\": \"sender@example.com\",\n \"completedAt\": 1789021236155,\n \"auditEvents\": [\n {\n \"type\": \"document_created\",\n \"timestamp\": 1789021078896,\n \"ip\": \"203.0.113.10\",\n \"senderEmail\": \"sender@example.com\",\n \"signerEmail\": null\n },\n {\n \"type\": \"document_viewed\",\n \"timestamp\": 1789021113981,\n \"ip\": \"127.0.0.1\",\n \"senderEmail\": null,\n \"signerEmail\": \"sample.signer@example.com\"\n },\n {\n \"type\": \"document_signed\",\n \"timestamp\": 1789021236147,\n \"ip\": \"127.0.0.1\",\n \"senderEmail\": null,\n \"signerEmail\": \"sample.signer@example.com\"\n }\n ],\n \"signedPdfHash\": \"c4da700e66aab0e415a66ab851f1a40b9f4b97633f2c2713e8388543ade78204\"\n} as Evidence\n\n// The signed PDF that goes with SAMPLE_EVIDENCE (its SHA-256 is signedPdfHash above): the one-page\n// sample agreement plus the certificate page, with evidence.json attached inside.\nexport const SAMPLE_PDF_B64 = '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'\n","// @signwho/verify/sample — the bundled sample package behind \"Try it with a sample\" on /verify:\n// a real, self-consistent signing with a drawn placeholder selfie. A fixture for the tests and\n// for anyone who wants a known-good package to run the checks on. Re-exported with plain types\n// so the declaration file does not carry the 50 kB base64 literal as a type.\nimport { SAMPLE_EVIDENCE as evidence, SAMPLE_PDF_B64 as pdfB64 } from './sample-package'\nimport type { Evidence } from './verify-checks'\n\nexport const SAMPLE_EVIDENCE: Evidence = evidence\nexport const SAMPLE_PDF_B64: string = pdfB64\n"]}
@@ -0,0 +1,6 @@
1
+ import { E as Evidence } from './verify-checks-BTlBVglW.cjs';
2
+
3
+ declare const SAMPLE_EVIDENCE: Evidence;
4
+ declare const SAMPLE_PDF_B64: string;
5
+
6
+ export { SAMPLE_EVIDENCE, SAMPLE_PDF_B64 };
@@ -0,0 +1,6 @@
1
+ import { E as Evidence } from './verify-checks-BTlBVglW.js';
2
+
3
+ declare const SAMPLE_EVIDENCE: Evidence;
4
+ declare const SAMPLE_PDF_B64: string;
5
+
6
+ export { SAMPLE_EVIDENCE, SAMPLE_PDF_B64 };