Public Sector
+Procurement cycles, oversight, offline verification.
+ Public Sector → +diff --git a/ifttt/review/index.html b/ifttt/review/index.html new file mode 100644 index 0000000..c6448f1 --- /dev/null +++ b/ifttt/review/index.html @@ -0,0 +1,5324 @@ + + +
+ + +This is the HTML fallback. The canonical source is the Markdown file:
+ +Generated: 2025-12-29 09:47 UTC
# IF.TTT Website — External Review Pack (Single File)
+
+- Generated: `2025-12-29 09:47 UTC`
+- Owner: Danny Stocker (`ds@infrafabric.io`)
+
+This file contains the full current IF.TTT website content (page tree + full HTML per page + key text assets) so external reviewers can evaluate copy, structure, and claims without needing to crawl.
+
+## How To Review (Quick)
+- Audience split: Home is PM/exec-first; `Developers` lives under `/api/`.
+- Goal: black/white clarity — what is verified vs what is not.
+- Please flag: confusing terms, overclaims, missing steps, weak “why”, and anything that feels like marketing cosplay.
+
+## Response Metadata (Required)
+- `llm_name`:
+- `probable_model`:
+- `cutoff_date`:
+- `response_date_utc`:
+- `web_access_used`: yes/no (list URLs relied on)
+
+## Live Entry Points
+- https://infrafabric.io/
+- https://infrafabric.io/verticals/
+- https://infrafabric.io/governance/
+- https://infrafabric.io/api/
+- https://infrafabric.io/whitepaper/
+- https://infrafabric.io/about/
+- https://infrafabric.io/fr/
+
+## Core Demo Links (Used Throughout)
+- https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n
+- https://infrafabric.io/static/pack/6qRgcR01kw_qNo63Dbs_ob9n
+- https://infrafabric.io/static/pack/6qRgcR01kw_qNo63Dbs_ob9n.md
+- https://infrafabric.io/static/hosted/review/trace-bundles/b6547c03/index.html
+- https://infrafabric.io/static/hosted/iftrace.html
+- https://infrafabric.io/static/hosted/iftrace.py
+- https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html
+
+## Page Tree
+
+- /about/ (https://infrafabric.io/about/)
+- /api/ (https://infrafabric.io/api/)
+- /fr/governance/ (https://infrafabric.io/fr/governance/)
+- /fr/ (https://infrafabric.io/fr/)
+- /governance/ (https://infrafabric.io/governance/)
+- / (https://infrafabric.io/)
+- /verticals/ai/ (https://infrafabric.io/verticals/ai/)
+- /verticals/enterprise/ (https://infrafabric.io/verticals/enterprise/)
+- /verticals/finance/ (https://infrafabric.io/verticals/finance/)
+- /verticals/government/ (https://infrafabric.io/verticals/government/)
+- /verticals/healthcare/ (https://infrafabric.io/verticals/healthcare/)
+- /verticals/ (https://infrafabric.io/verticals/)
+- /verticals/legal/ (https://infrafabric.io/verticals/legal/)
+- /verticals/professional-services/ (https://infrafabric.io/verticals/professional-services/)
+- /verticals/public-sector/ (https://infrafabric.io/verticals/public-sector/)
+- /verticals/research/ (https://infrafabric.io/verticals/research/)
+- /verticals/saas/ (https://infrafabric.io/verticals/saas/)
+- /verticals/sciences/ (https://infrafabric.io/verticals/sciences/)
+- /verticals/secops/ (https://infrafabric.io/verticals/secops/)
+- /verticals/supply-chain/ (https://infrafabric.io/verticals/supply-chain/)
+- /whitepaper/ (https://infrafabric.io/whitepaper/)
+- /whitepaper/thanks/ (https://infrafabric.io/whitepaper/thanks/)
+
+## Text Assets
+
+- `app.js` — https://infrafabric.io/static/hosted/ifttt/app.js
+- `style.css` — https://infrafabric.io/static/hosted/ifttt/style.css
+- `assets/if-logo-simple.svg` — https://infrafabric.io/static/hosted/ifttt/assets/if-logo-simple.svg
+- `assets/ifttt-quotes.json` — https://infrafabric.io/static/hosted/ifttt/assets/ifttt-quotes.json
+
+## Binary Assets (Referenced by Pages)
+
+| File | Size | URL |
+|---|---:|---|
+| `assets/eyes-only-dave.png` | 1,522 KB | https://infrafabric.io/static/hosted/ifttt/assets/eyes-only-dave.png |
+| `assets/red-team-doc-1024-559.jpg` | 122 KB | https://infrafabric.io/static/hosted/ifttt/assets/red-team-doc-1024-559.jpg |
+| `assets/red-team-stamp-600.png` | 561 KB | https://infrafabric.io/static/hosted/ifttt/assets/red-team-stamp-600.png |
+
+---
+
+# Pages (Full HTML)
+
+## /about/
+- URL: https://infrafabric.io/about/
+- Static: https://infrafabric.io/static/hosted/ifttt/about/
+- Source: `ifttt/about/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — About</title>
+ <meta
+ name="description"
+ content="IF.TTT is a receipt-first governance protocol: traceable, transparent, trustworthy. This page explains the who/why/what/where/when/how and the traps that break open verification."
+ />
+ <link rel="stylesheet" href="../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../" aria-label="IF.TTT home">
+ <img class="brand__logo" src="../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">About</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Primary">
+ <a href="../#how">How</a>
+ <a href="../#trust">Trust</a>
+ <a href="../#verify">Verify</a>
+ <a href="../governance/">Governance</a>
+ <a href="../verticals/">Verticals</a>
+ <a href="../whitepaper/">Whitepaper</a>
+ <a href="../api/">Developers</a>
+ <a class="lang" href="../fr/" aria-label="French">FR</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">Why this exists</p>
+ <h1>We built the skeleton first.</h1>
+ <p class="lede">
+ Most systems produce answers and call that “governance”. IF.TTT starts earlier: it produces receipts that a third party can verify without
+ joining your internal world.
+ </p>
+
+ <div class="panel">
+ <h3>Who / Why / What / Where / When / How</h3>
+ <div class="bw">
+ <div class="bw__row">
+ <div class="bw__k">Who</div>
+ <div class="bw__v">InfraFabric operators shipping public, no‑login verification artifacts.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Why</div>
+ <div class="bw__v">Because “trust us” fails the moment a reviewer asks for proof.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">What</div>
+ <div class="bw__v">A receipt‑first protocol: bind <code>source_sha256</code> ↔ <code>output_sha256</code> under a trace receipt.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Where</div>
+ <div class="bw__v">On a stable public share surface (no login): trace, dossier, packs, and source.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">When</div>
+ <div class="bw__v">At publication time: the receipt is generated and can be verified later during disputes.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">How</div>
+ <div class="bw__v">Hashes + receipts + optional offline bundles; nothing magical, just opposable proof.</div>
+ </div>
+ </div>
+ </div>
+
+ <div class="cta" style="margin-top: 12px">
+ <a class="btn btn--primary" href="../#verify">Try a live trace</a>
+ <a class="btn" href="../api/">Developer surface</a>
+ </div>
+ </div>
+
+ <aside class="hero__card" aria-label="Traps to avoid">
+ <div class="card">
+ <div class="card__hdr">
+ <div class="badge badge--ok">TRAPS</div>
+ <div class="badge">HOW RECEIPTS BREAK</div>
+ </div>
+ <div class="card__body">
+ <ul class="list" style="margin: 0; padding-left: 18px">
+ <li><strong>Broken share surface:</strong> moving URLs or forcing login turns receipts into theater.</li>
+ <li><strong>Mixing identifiers:</strong> <code>shareId</code> is public; <code>trace_id</code> is chain‑of‑custody. Don’t swap them.</li>
+ <li><strong>“Compliance” claims:</strong> receipts support audits; they do not guarantee program scope or behavior.</li>
+ <li><strong>Unverifiable artifacts:</strong> screenshots and PDFs are not gates unless bound to machine‑checkable signals.</li>
+ <li><strong>WAF surprises:</strong> some clients can fetch HTML but reject binary downloads—publish HTML views.</li>
+ </ul>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+
+ <section class="section section--alt">
+ <div class="wrap">
+ <h2>What a receipt proves (and what it doesn’t)</h2>
+ <div class="grid2">
+ <div class="panel">
+ <h3>Proves</h3>
+ <ul class="list">
+ <li>Integrity binding: the published bytes match the hashes on the receipt.</li>
+ <li>Traceability: a reviewer can point to a stable, no‑login receipt.</li>
+ <li>Replay: verification still works during disputes (offline bundles when needed).</li>
+ </ul>
+ </div>
+ <div class="panel">
+ <h3>Does not prove</h3>
+ <ul class="list">
+ <li>Intent, interpretation, or “correctness” of a narrative.</li>
+ <li>That a control is effective—only that the evidence exists and is bound to the record.</li>
+ <li>Compliance scope (people, policy, contracts); receipts are inputs to governance.</li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <section class="section">
+ <div class="wrap">
+ <h2>Read the paper (and verify the examples)</h2>
+ <div class="links">
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">IF.TTT: The Skeleton of Everything (review pack)</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html</span>
+ </a>
+ </div>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">InfraFabric • IF.TTT receipts are designed to be legible to the governed.</div>
+ <div class="muted">
+ <a href="../">IF.TTT</a> · <a href="../governance/">Governance</a> · <a href="../api/">Developers</a> ·
+ <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a> <span class="bottombar__sep">·</span> Danny Stocker
+ </div>
+ </div>
+ </footer>
+
+ <div class="bottombar" aria-label="Quick links">
+ <div class="wrap bottombar__inner">
+ <div class="bottombar__left">
+ <span class="bottombar__label">Sectors</span>
+ <a href="../verticals/public-sector/">Public Sector</a>
+ <a href="../verticals/enterprise/">Enterprise</a>
+ <a href="../verticals/research/">Research</a>
+ <a href="../verticals/professional-services/">Professional</a>
+ <span class="bottombar__sep">·</span>
+ <span class="bottombar__label">Industries</span>
+ <a href="../verticals/healthcare/">Healthcare</a>
+ <a href="../verticals/finance/">Financial</a>
+ <a href="../verticals/legal/">Legal</a>
+ </div>
+ <div class="bottombar__right">
+ <a href="../api/">Developers</a>
+ <span class="bottombar__sep">|</span>
+ <a href="../api/">API</a>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+```
+
+</details>
+
+## /api/
+- URL: https://infrafabric.io/api/
+- Static: https://infrafabric.io/static/hosted/ifttt/api/
+- Source: `ifttt/api/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — Developers / API</title>
+ <meta
+ name="description"
+ content="Developer-facing overview of the IF.TTT public receipt surface: stable no-login URLs, HTML fallbacks for sandboxes, and offline verification bundles."
+ />
+ <link rel="stylesheet" href="../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../" aria-label="IF.TTT home">
+ <img class="brand__logo" src="../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">Developers / API</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Primary">
+ <a href="../#verify">Verify</a>
+ <a href="../verticals/">Verticals</a>
+ <a href="../governance/">Governance</a>
+ <a href="../whitepaper/">Whitepaper</a>
+ <a href="../about/">About</a>
+ <a class="lang" href="../fr/" aria-label="French">FR</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">Public receipt surface (no login)</p>
+ <h1>Stable URLs, predictable verification.</h1>
+ <p class="lede">
+ IF.TTT is intentionally boring from a developer perspective: compute hashes, publish receipts, and keep the proof surface stable. The
+ system is designed for third parties who are not inside your network.
+ </p>
+ <div class="panel">
+ <h3>What “VERIFIED” means (black/white)</h3>
+ <div class="bw">
+ <div class="bw__row">
+ <div class="bw__k">Verified</div>
+ <div class="bw__v">The bytes you can download hash to the same values shown on the trace receipt.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Quantum ready</div>
+ <div class="bw__v">A post‑quantum signature receipt exists (additive; integrity hashes still stand).</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Not implied</div>
+ <div class="bw__v">Compliance, intent, or correctness of interpretation.</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <aside class="hero__card" aria-label="Share surface reference">
+ <div class="card">
+ <div class="card__media">
+ <img src="../assets/red-team-stamp-600.png" alt="EYES ONLY // DAVE stamp" loading="lazy" />
+ </div>
+ <div class="card__hdr">
+ <div class="badge badge--ok">SHARE SURFACE</div>
+ <div class="badge">NO‑LOGIN</div>
+ </div>
+ <div class="card__body">
+ <pre class="code"><code>https://infrafabric.io/static/trace/<shareId>
+https://infrafabric.io/static/dossier/<shareId>
+https://infrafabric.io/static/dossier/<shareId>/download
+https://infrafabric.io/static/pack/<shareId>.md
+https://infrafabric.io/static/review/<shareId>.md
+https://infrafabric.io/static/marketing/<shareId>.md
+https://infrafabric.io/static/source/<source_sha256>.pdf</code></pre>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+
+ <section class="section">
+ <div class="wrap">
+ <h2>HTML fallback (for sandboxed reviewers)</h2>
+ <p class="sub">
+ Some external review environments can load HTML but reject downloadable binaries or raw markdown. For those, we publish HTML views alongside
+ the raw assets.
+ </p>
+ <div class="grid2">
+ <div class="panel">
+ <h3>Raw</h3>
+ <pre class="code"><code>/static/pack/<shareId>.md
+/static/review/<shareId>.md
+/static/marketing/<shareId>.md</code></pre>
+ </div>
+ <div class="panel">
+ <h3>HTML view</h3>
+ <pre class="code"><code>/static/pack/<shareId>
+/static/review/<shareId>
+/static/marketing/<shareId></code></pre>
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <section class="section section--alt">
+ <div class="wrap">
+ <h2>Offline verification (triage bundles)</h2>
+ <p class="sub">Download a bundle (lightweight/standard/full) and verify without relying on the live site.</p>
+ <div class="verify">
+ <div class="panel">
+ <h3>Bundle selector (demo)</h3>
+ <div class="links">
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/review/trace-bundles/d70ed99a/index.html" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Triage selector (HTML)</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/review/trace-bundles/d70ed99a/index.html</span>
+ </a>
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/iftrace.html" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Verifier (HTML)</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/iftrace.html</span>
+ </a>
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/iftrace.py" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Verifier (download)</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/iftrace.py</span>
+ </a>
+ </div>
+ <p class="fine">
+ Note: some “web fetchers” reject <code>.tar.gz</code> with a client-side error even when browsers/curl succeed. Use the HTML views and
+ download bundles locally.
+ </p>
+ </div>
+ <div class="panel">
+ <h3>Verify (CLI)</h3>
+ <pre class="code"><code>curl -fsSL -o iftrace.py 'https://infrafabric.io/static/hosted/iftrace.py'
+python3 iftrace.py verify trace_bundle_<id>_standard.tar.gz --expected-sha256 <sha256></code></pre>
+ <p class="fine">If hashes match, the receipt’s integrity claim is satisfied.</p>
+ </div>
+ </div>
+ </div>
+ </section>
+
+ <section class="section">
+ <div class="wrap">
+ <h2>Docs</h2>
+ <div class="links">
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">IF.TTT paper update (review pack)</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html</span>
+ </a>
+ </div>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">InfraFabric • IF.TTT receipts are designed to be legible to the governed.</div>
+ <div class="muted">
+ <a href="../">IF.TTT</a> · <a href="../governance/">Governance</a> · <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a>
+ <span class="bottombar__sep">·</span> Danny Stocker
+ </div>
+ </div>
+ </footer>
+
+ <div class="bottombar" aria-label="Quick links">
+ <div class="wrap bottombar__inner">
+ <div class="bottombar__left">
+ <span class="bottombar__label">Sectors</span>
+ <a href="../verticals/public-sector/">Public Sector</a>
+ <a href="../verticals/enterprise/">Enterprise</a>
+ <a href="../verticals/research/">Research</a>
+ <a href="../verticals/professional-services/">Professional</a>
+ <span class="bottombar__sep">·</span>
+ <span class="bottombar__label">Industries</span>
+ <a href="../verticals/healthcare/">Healthcare</a>
+ <a href="../verticals/finance/">Financial</a>
+ <a href="../verticals/legal/">Legal</a>
+ </div>
+ <div class="bottombar__right">
+ <a href="../api/">Developers</a>
+ <span class="bottombar__sep">|</span>
+ <a href="../api/">API</a>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+```
+
+</details>
+
+## /fr/governance/
+- URL: https://infrafabric.io/fr/governance/
+- Static: https://infrafabric.io/static/hosted/ifttt/fr/governance/
+- Source: `ifttt/fr/governance/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="fr">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — Gouvernance ouverte</title>
+ <meta
+ name="description"
+ content="La gouvernance ouverte signifie qu’un tiers peut vérifier ce qui s’est passé sans login. IF.TTT est l’ossature de reçus : trace, liens stables, bundles hors‑ligne."
+ />
+ <link rel="stylesheet" href="../../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../../" aria-label="IF.TTT accueil">
+ <img class="brand__logo" src="../../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">Gouvernance ouverte</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Navigation">
+ <a href="../../#how">Process</a>
+ <a href="../../#trust">Confiance</a>
+ <a href="../../#verify">Vérifier</a>
+ <a href="../../verticals/">Verticaux</a>
+ <a href="../../whitepaper/">Livre blanc</a>
+ <a href="../../api/">Développeurs</a>
+ <a href="../../about/">À propos</a>
+ <a class="lang" href="../../governance/" aria-label="English">EN</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">Gouvernance ouverte</p>
+ <h1>Lisible par les gouvernés.</h1>
+ <p class="lede">
+ Une “gouvernance” qui ne se lit qu’en interne n’est pas une preuve. IF.TTT publie des reçus stables, accessibles sans login, pour que des
+ tiers puissent vérifier l’intégrité sans entrer dans votre réseau.
+ </p>
+
+ <div class="panel">
+ <h3>Ce que cela prouve (et ce que cela ne prouve pas)</h3>
+ <div class="bw">
+ <div class="bw__row">
+ <div class="bw__k">Prouve</div>
+ <div class="bw__v">Liaison d’intégrité (hashes), reçus de publication, bundles hors‑ligne.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Ne prouve pas</div>
+ <div class="bw__v">L’intention, l’interprétation, ou “la conformité atteinte”.</div>
+ </div>
+ </div>
+ </div>
+
+ <div class="panel" style="margin-top: 12px">
+ <h3>La “stack” de gouvernance</h3>
+ <ul class="list">
+ <li><strong>IF.TTT (reçus) :</strong> source_sha256 ↔ output_sha256, trace_id, shareId.</li>
+ <li><strong>Revue :</strong> packs de revue externes, critiques, disputes.</li>
+ <li><strong>Contrôles :</strong> gates/stop‑conditions qui consomment ces reçus.</li>
+ </ul>
+ </div>
+
+ <div class="cta" style="margin-top: 12px">
+ <a class="btn btn--primary" href="../../#verify">Voir une trace</a>
+ <a class="btn" href="../../api/">Surface publique</a>
+ </div>
+ </div>
+
+ <aside class="hero__card" aria-label="Charters">
+ <div class="card">
+ <div class="card__hdr">
+ <div class="badge badge--ok">CHARTERS</div>
+ <div class="badge">PUBLICS</div>
+ </div>
+ <div class="card__body">
+ <div class="links">
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/gov/TRIAGE.md" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Politique de triage</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/gov/TRIAGE.md</span>
+ </a>
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/gov/PANEL.md" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Panel / revue externe</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/gov/PANEL.md</span>
+ </a>
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/gov/WITNESS.md" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Modèle “witness”</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/gov/WITNESS.md</span>
+ </a>
+ </div>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+
+ <section class="section">
+ <div class="wrap">
+ <h2>Pour qui (et qui va détester)</h2>
+ <p class="sub">Lisible pour des tiers : le but n’est pas le confort interne, mais la vérifiabilité externe.</p>
+
+ <div class="grid2">
+ <div class="panel">
+ <h3>Pour</h3>
+ <ul class="list">
+ <li><strong>GRC / audit</strong> (SOC 2 / ISO) : preuves exportables.</li>
+ <li><strong>Architecture sécurité</strong> : contrôles mesurables, pas d’attestations.</li>
+ <li><strong>Juridique / conformité</strong> : chaîne de possession en cas de litige.</li>
+ <li><strong>Produits IA</strong> : “pourquoi le modèle a dit ça ?”</li>
+ <li><strong>Secteur public / défense</strong> : vérification hors‑ligne et environnements verrouillés.</li>
+ </ul>
+ </div>
+
+ <div class="panel">
+ <h3>Pas pour</h3>
+ <ul class="list">
+ <li>Ceux qui veulent un “badge” sans publier d’artefacts vérifiables.</li>
+ <li>Les workflows où rien ne peut sortir du réseau (pas de surface publique).</li>
+ <li>Les organisations qui préfèrent l’ambiguïté : IF.TTT rend les trous visibles.</li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="cta" style="margin-top: 12px">
+ <a class="btn btn--primary" href="../../whitepaper/">Lire le livre blanc</a>
+ <a class="btn" href="../../verticals/">Voir les verticaux</a>
+ </div>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">InfraFabric • Gouvernance ouverte = preuve sans login.</div>
+ <div class="muted"><a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a> · Danny Stocker</div>
+ </div>
+ </footer>
+ </body>
+</html>
+```
+
+</details>
+
+## /fr/
+- URL: https://infrafabric.io/fr/
+- Static: https://infrafabric.io/static/hosted/ifttt/fr/
+- Source: `ifttt/fr/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="fr">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — Vérification ouverte pour la gouvernance IA</title>
+ <meta
+ name="description"
+ content="IF.TTT (Traceable, Transparent, Trustworthy) est une couche de gouvernance “receipt-first” : relier une source à un output via une trace vérifiable, des liens publics sans login et des bundles hors‑ligne."
+ />
+ <meta property="og:title" content="IF.TTT — Vérification ouverte pour la gouvernance IA" />
+ <meta
+ property="og:description"
+ content="Des reçus, pas des opinions. IF.TTT relie une source à un output avec des traces vérifiables, des liens publics sans login, et des bundles hors‑ligne."
+ />
+ <meta property="og:type" content="website" />
+ <meta property="og:image" content="https://infrafabric.io/static/hosted/ifttt/assets/red-team-doc-1024-559.jpg" />
+ <meta name="twitter:card" content="summary_large_image" />
+ <meta name="theme-color" content="#111827" />
+ <link rel="icon" href="../assets/if-logo-simple.svg" type="image/svg+xml" />
+ <link rel="stylesheet" href="../style.css" />
+ <script src="../app.js" defer></script>
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../" aria-label="IF.TTT accueil">
+ <img class="brand__logo" src="../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">Traceable • Transparent • Trustworthy</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Navigation">
+ <a href="../#how">Process</a>
+ <a href="../#trust">Confiance</a>
+ <a href="../#verify">Vérifier</a>
+ <a href="../verticals/">Verticaux</a>
+ <a href="./governance/">Gouvernance</a>
+ <a href="../whitepaper/">Livre blanc</a>
+ <a href="../api/">Développeurs</a>
+ <a href="../about/">À propos</a>
+ <a class="lang" href="../" aria-label="English">EN</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">Gouvernance ouverte, lisible par des tiers</p>
+ <h1>Des reçus, pas des opinions.</h1>
+ <div class="type" aria-label="Animation de saisie">
+ <span class="type__prefix">if.</span><span id="typeword"></span><span class="type__suffix">></span
+ ><span class="type__caret" aria-hidden="true"></span>
+ </div>
+ <div class="quote" aria-live="polite" aria-label="Citation tournante">
+ <div class="quote__text" id="quoteText"></div>
+ <div class="quote__meta" id="quoteMeta"></div>
+ </div>
+ <p class="lede">
+ IF.TTT est une couche de gouvernance “receipt‑first”. Elle relie un <strong>artefact source</strong> à un <strong>output</strong> via une
+ <strong>page de trace</strong>, des <strong>liens publics sans login</strong>, et des <strong>bundles hors‑ligne</strong> vérifiables.
+ </p>
+
+ <div class="pillrow" role="list" aria-label="Propriétés clés">
+ <div class="pill" role="listitem">
+ <span class="pill__k">Sans login</span>
+ <span class="pill__v">Surface publique</span>
+ </div>
+ <div class="pill" role="listitem">
+ <span class="pill__k">Hors‑ligne</span>
+ <span class="pill__v">Bundles de triage</span>
+ </div>
+ <div class="pill" role="listitem">
+ <span class="pill__k">Noir/blanc</span>
+ <span class="pill__v">Vérifié vs non‑vérifié</span>
+ </div>
+ </div>
+
+ <div class="cta">
+ <a class="btn btn--primary" href="../#verify">Voir une trace</a>
+ <a class="btn" href="../verticals/">Voir les verticaux</a>
+ </div>
+
+ <p class="note">
+ Nous ne “vendons” pas la conformité. Nous aidons les audits en produisant des <em>reçus vérifiables</em> que des tiers peuvent contrôler
+ sans vos identifiants.
+ </p>
+ </div>
+
+ <aside class="hero__card" aria-label="Exemple de page trace">
+ <div class="card">
+ <div class="card__media">
+ <img
+ src="../assets/red-team-doc-1024-559.jpg"
+ alt="Couverture de dossier InfraFabric Red Team avec tampon “EYES ONLY // DAVE”"
+ loading="lazy"
+ />
+ </div>
+ <div class="card__hdr">
+ <div class="badge badge--ok">VERIFIED</div>
+ <div class="badge">QUANTUM READY (optionnel)</div>
+ </div>
+ <div class="card__body">
+ <div class="mini">
+ <div class="mini__k">Promesse</div>
+ <div class="mini__v">“Téléchargez. Hashez. Comparez. Optionnellement vérifiez hors‑ligne.”</div>
+ </div>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">InfraFabric • Reçus IF.TTT conçus pour être “lisibles par les gouvernés”.</div>
+ <div class="muted"><a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a> · Danny Stocker</div>
+ </div>
+ </footer>
+
+ <div class="bottombar" aria-label="Liens rapides">
+ <div class="wrap bottombar__inner">
+ <div class="bottombar__left">
+ <span class="bottombar__label">Secteurs</span>
+ <a href="../verticals/public-sector/">Secteur public</a>
+ <a href="../verticals/enterprise/">Entreprise</a>
+ <a href="../verticals/research/">Recherche</a>
+ <a href="../verticals/professional-services/">Services pro</a>
+ <span class="bottombar__sep">·</span>
+ <span class="bottombar__label">Industries</span>
+ <a href="../verticals/healthcare/">Santé</a>
+ <a href="../verticals/finance/">Finance</a>
+ <a href="../verticals/legal/">Juridique</a>
+ </div>
+ <div class="bottombar__right">
+ <a href="../api/">Developers</a>
+ <span class="bottombar__sep">|</span>
+ <a href="../api/">API</a>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+```
+
+</details>
+
+## /governance/
+- URL: https://infrafabric.io/governance/
+- Static: https://infrafabric.io/static/hosted/ifttt/governance/
+- Source: `ifttt/governance/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — Open Governance</title>
+ <meta
+ name="description"
+ content="Open governance means third parties can verify what happened without your login. IF.TTT is the receipt backbone: trace pages, stable no-login links, and offline bundles."
+ />
+ <link rel="stylesheet" href="../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../" aria-label="IF.TTT home">
+ <img class="brand__logo" src="../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">Open governance</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Primary">
+ <a href="../#how">How</a>
+ <a href="../#trust">Trust</a>
+ <a href="../#verify">Verify</a>
+ <a href="../verticals/">Verticals</a>
+ <a href="../whitepaper/">Whitepaper</a>
+ <a href="../api/">Developers</a>
+ <a href="../about/">About</a>
+ <a class="lang" href="../fr/governance/" aria-label="French">FR</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">Open governance</p>
+ <h1>Legible to the governed.</h1>
+ <p class="lede">
+ “Governance” fails when it’s only legible inside your network. IF.TTT moves the proof outside: stable, no‑login receipts that third parties
+ can verify without joining your internal world.
+ </p>
+
+ <div class="panel">
+ <h3>What this page is (black/white)</h3>
+ <div class="bw">
+ <div class="bw__row">
+ <div class="bw__k">Goal</div>
+ <div class="bw__v">Make third‑party verification possible without credentials.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Mechanism</div>
+ <div class="bw__v">Hashes + trace receipts + stable URLs + optional offline bundles.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Not implied</div>
+ <div class="bw__v">“Compliance achieved” or “correctness of interpretation”.</div>
+ </div>
+ </div>
+ </div>
+
+ <div class="panel" style="margin-top: 12px">
+ <h3>The governance stack (where IF.TTT sits)</h3>
+ <ul class="list">
+ <li><strong>Receipt layer (IF.TTT):</strong> integrity binding + chain‑of‑custody IDs + share surface.</li>
+ <li><strong>Review layer:</strong> external review packs, panel critique, dispute workflows.</li>
+ <li><strong>Enforcement layer:</strong> gates/stop‑conditions that consume receipts (CI, access, runtime).</li>
+ </ul>
+ <p class="fine">Receipts don’t replace governance. They remove ambiguity from it.</p>
+ </div>
+
+ <div class="cta" style="margin-top: 12px">
+ <a class="btn btn--primary" href="../#verify">Try a live trace</a>
+ <a class="btn" href="../api/">Public share surface</a>
+ </div>
+ </div>
+
+ <aside class="hero__card" aria-label="Public artifacts">
+ <div class="card">
+ <div class="card__media">
+ <img src="../assets/red-team-stamp-600.png" alt="EYES ONLY // DAVE stamp" loading="lazy" />
+ </div>
+ <div class="card__hdr">
+ <div class="badge badge--ok">PUBLIC</div>
+ <div class="badge">NO‑LOGIN</div>
+ </div>
+ <div class="card__body">
+ <div class="mini">
+ <div class="mini__k">Stable receipt surface</div>
+ <div class="mini__v">These URLs are designed to be shareable in procurement, audits, and disputes.</div>
+ </div>
+ <pre class="code"><code>/static/trace/<shareId>
+/static/dossier/<shareId>
+/static/dossier/<shareId>/download
+/static/pack/<shareId>.md
+/static/review/<shareId>.md
+/static/marketing/<shareId>.md
+/static/source/<source_sha256>.pdf</code></pre>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+
+ <section class="section">
+ <div class="wrap">
+ <h2>For whom (and who will hate it)</h2>
+ <p class="sub">A constitutional framing: the goal is legibility to outsiders, not internal comfort.</p>
+
+ <div class="grid2">
+ <div class="panel">
+ <h3>For</h3>
+ <ul class="list">
+ <li><strong>GRC / Audit leads</strong> drowning in evidence requests (SOC 2 / ISO 27001 / vendor due diligence).</li>
+ <li><strong>Security architects</strong> who need “proof of what ran” without adding manual theater.</li>
+ <li><strong>Legal / compliance</strong> teams who need chain‑of‑custody that survives disputes.</li>
+ <li><strong>AI product teams</strong> facing “why did it say that?” questions from customers and regulators.</li>
+ <li><strong>Gov/defense contractors</strong> who must verify artifacts offline or across locked‑down environments.</li>
+ </ul>
+ </div>
+
+ <div class="panel">
+ <h3>Not for</h3>
+ <ul class="list">
+ <li>Teams seeking a “compliance badge” without publishing verifiable artifacts.</li>
+ <li>Workflows where evidence cannot leave the internal network (no share surface, no external verification).</li>
+ <li>Organizations that want to hide uncertainty: IF.TTT makes gaps visible by design.</li>
+ <li>Anyone who needs governance to remain ambiguous (receipts reduce wiggle room).</li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="cta" style="margin-top: 12px">
+ <a class="btn btn--primary" href="../whitepaper/">Read the paper</a>
+ <a class="btn" href="../verticals/">Browse vertical fit</a>
+ </div>
+ </div>
+ </section>
+
+ <section class="section section--alt">
+ <div class="wrap">
+ <h2>Charters (how we keep it honest)</h2>
+ <p class="sub">These are plain Markdown docs: readable, linkable, and easy to critique.</p>
+ <div class="links">
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/gov/TRIAGE.md" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Triage policy</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/gov/TRIAGE.md</span>
+ </a>
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/gov/PANEL.md" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Panel / external review process</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/gov/PANEL.md</span>
+ </a>
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/gov/WITNESS.md" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Witness model</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/gov/WITNESS.md</span>
+ </a>
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/gov/QUESTIONS.md" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Third‑party questions we expect</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/gov/QUESTIONS.md</span>
+ </a>
+ </div>
+ </div>
+ </section>
+
+ <section class="section">
+ <div class="wrap">
+ <h2>Live example</h2>
+ <p class="sub">A real trace receipt you can verify right now.</p>
+ <div class="links">
+ <a class="linkrow" href="https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Example trace receipt</span>
+ <span class="linkrow__u">https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n</span>
+ </a>
+ </div>
+ <p class="fine">
+ “VERIFIED” means the published bytes hash to what the receipt says. “QUANTUM READY” means a post‑quantum signature receipt exists (additive;
+ integrity hashes still stand).
+ </p>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">InfraFabric • Open governance is “proof without login”.</div>
+ <div class="muted">
+ <a href="../">IF.TTT</a> · <a href="../api/">Developers</a> · <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a>
+ <span class="bottombar__sep">·</span> Danny Stocker
+ </div>
+ </div>
+ </footer>
+
+ <div class="bottombar" aria-label="Quick links">
+ <div class="wrap bottombar__inner">
+ <div class="bottombar__left">
+ <span class="bottombar__label">Sectors</span>
+ <a href="../verticals/public-sector/">Public Sector</a>
+ <a href="../verticals/enterprise/">Enterprise</a>
+ <a href="../verticals/research/">Research</a>
+ <a href="../verticals/professional-services/">Professional</a>
+ <span class="bottombar__sep">·</span>
+ <span class="bottombar__label">Industries</span>
+ <a href="../verticals/healthcare/">Healthcare</a>
+ <a href="../verticals/finance/">Financial</a>
+ <a href="../verticals/legal/">Legal</a>
+ </div>
+ <div class="bottombar__right">
+ <a href="../api/">Developers</a>
+ <span class="bottombar__sep">|</span>
+ <a href="../api/">API</a>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+```
+
+</details>
+
+## /
+- URL: https://infrafabric.io/
+- Static: https://infrafabric.io/static/hosted/ifttt/
+- Source: `ifttt/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — Open Verification for AI Governance</title>
+ <meta
+ name="description"
+ content="IF.TTT (Traceable, Transparent, Trustworthy) is a receipt-first governance layer: bind a source artifact to an output with a verifiable trace, no-login proof links, and optional offline bundles."
+ />
+ <meta property="og:title" content="IF.TTT — Open Verification for AI Governance" />
+ <meta
+ property="og:description"
+ content="Receipts, not vibes. IF.TTT binds a source artifact to an output with verifiable traces, no-login proof links, and optional offline bundles."
+ />
+ <meta property="og:type" content="website" />
+ <meta property="og:image" content="https://infrafabric.io/static/hosted/ifttt/assets/red-team-doc-1024-559.jpg" />
+ <meta name="twitter:card" content="summary_large_image" />
+ <meta name="theme-color" content="#111827" />
+ <link rel="icon" href="./assets/if-logo-simple.svg" type="image/svg+xml" />
+ <link rel="stylesheet" href="./style.css" />
+ <script src="./app.js" defer></script>
+ </head>
+
+ <body class="home">
+ <header class="top top--home">
+ <div class="wrap top__inner">
+ <a class="brand" href="./" aria-label="IF.TTT home">
+ <img class="brand__logo" src="./assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">Traceable • Transparent • Trustworthy</span>
+ </span>
+ </a>
+
+ <nav class="homeNav" aria-label="Top links">
+ <a href="./governance/">Governance</a>
+ <a href="./whitepaper/">Whitepaper</a>
+ <a href="./api/">Developers</a>
+ <a href="./about/">About</a>
+ <a class="lang" href="./fr/" aria-label="French">FR</a>
+ <span class="homeNav__sep">·</span>
+ <a class="homeNav__contact" href="mailto:ds@infrafabric.io">ds@infrafabric.io</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top" class="homeMain" aria-label="IF.TTT overview">
+ <div class="wrap homeMain__inner">
+ <div class="homeCenter">
+ <div class="homeBadges" aria-label="Status badges">
+ <a
+ class="badge badge--ok badge--big"
+ href="https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n"
+ target="_blank"
+ rel="noreferrer"
+ >VERIFIED</a
+ >
+ <a class="badge badge--big" href="./api/#quantum">QUANTUM READY</a>
+ </div>
+
+ <div class="type type--home" aria-label="Typing animation">
+ <span class="type__prefix">if.</span><span id="typeword"></span><span class="type__suffix">></span
+ ><span class="type__caret" aria-hidden="true"></span>
+ </div>
+
+ <div class="quote quote--home" aria-live="polite" aria-label="Rotating quote">
+ <div class="quote__text" id="quoteText"></div>
+ <div class="quote__meta" id="quoteMeta"></div>
+ </div>
+
+ <p class="homeLede">
+ Open verification for governance: third parties can verify receipts without your credentials.
+ <span class="muted">Artifacts > adjectives.</span>
+ </p>
+
+ <section id="stepper" class="homeStepper" hidden>
+ <h2>How verification works</h2>
+ <p class="sub2">Black/white: what the receipt proves vs what it doesn’t.</p>
+
+ <ol class="steps">
+ <li class="step">
+ <div class="step__n">1</div>
+ <div class="step__b">
+ <div class="step__t">Bind source ↔ output</div>
+ <div class="step__d">Hash the exact source bytes and the exact output bytes.</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">2</div>
+ <div class="step__b">
+ <div class="step__t">Publish a trace receipt</div>
+ <div class="step__d">A public page that links the hashes, time, and versioning.</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">3</div>
+ <div class="step__b">
+ <div class="step__t">No‑login share surface</div>
+ <div class="step__d">Stable URLs keyed by a single <code>shareId</code> (trace, dossier, pack, source).</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">4</div>
+ <div class="step__b">
+ <div class="step__t">Optional: offline triage bundles</div>
+ <div class="step__d">Lightweight/standard/full bundles for constrained environments.</div>
+ </div>
+ </li>
+ </ol>
+
+ <div class="homeLinks" aria-label="Live demo links">
+ <a class="homeLink" href="https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n" target="_blank" rel="noreferrer"
+ >Open a live trace receipt</a
+ >
+ <a class="homeLink" href="https://infrafabric.io/static/pack/6qRgcR01kw_qNo63Dbs_ob9n.md" target="_blank" rel="noreferrer"
+ >Open the corresponding pack</a
+ >
+ <a class="homeLink" href="https://infrafabric.io/static/hosted/review/trace-bundles/b6547c03/index.md" target="_blank" rel="noreferrer"
+ >Triage bundle selector (offline)</a
+ >
+ <a class="homeLink" href="https://infrafabric.io/static/hosted/iftrace.py" target="_blank" rel="noreferrer">Download `iftrace.py`</a>
+ <a
+ class="homeLink"
+ href="https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html"
+ target="_blank"
+ rel="noreferrer"
+ >IF.TTT paper (review pack)</a
+ >
+ </div>
+
+ <p class="note">
+ If it’s not verifiable, label it as a gap. Don’t endorse it.
+ <span class="muted">This is how you keep governance legible to outsiders.</span>
+ </p>
+ </section>
+
+ <div class="homeMeta" aria-label="Contact">
+ Danny Stocker <span class="bottombar__sep">·</span> <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a>
+ </div>
+ </div>
+ </div>
+ </main>
+
+ <div class="bottombar" aria-label="Quick links">
+ <div class="wrap bottombar__inner">
+ <div class="bottombar__left">
+ <span class="bottombar__label">Sectors</span>
+ <a href="./verticals/public-sector/">Public Sector</a>
+ <a href="./verticals/enterprise/">Enterprise</a>
+ <a href="./verticals/research/">Research</a>
+ <a href="./verticals/professional-services/">Professional</a>
+ <span class="bottombar__sep">·</span>
+ <span class="bottombar__label">Industries</span>
+ <a href="./verticals/healthcare/">Healthcare</a>
+ <a href="./verticals/finance/">Financial</a>
+ <a href="./verticals/legal/">Legal</a>
+ </div>
+ <div class="bottombar__right">
+ <a href="./api/">Developers</a>
+ <span class="bottombar__sep">|</span>
+ <a href="./api/">API</a>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+```
+
+</details>
+
+## /verticals/ai/
+- URL: https://infrafabric.io/verticals/ai/
+- Static: https://infrafabric.io/static/hosted/ifttt/verticals/ai/
+- Source: `ifttt/verticals/ai/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — AI Products</title>
+ <meta name="description" content="IF.TTT for AI product companies: provable provenance for outputs (“why did it say that?”) without giving third parties internal access." />
+ <link rel="stylesheet" href="../../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../../" aria-label="IF.TTT home">
+ <img class="brand__logo" src="../../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">AI product companies</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Primary">
+ <a href="../">Verticals</a>
+ <a href="../../#how">How</a>
+ <a href="../../#verify">Verify</a>
+ <a href="../../governance/">Governance</a>
+ <a href="../../whitepaper/">Whitepaper</a>
+ <a href="../../about/">About</a>
+ <a href="../../api/">Developers</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">AI product reality</p>
+ <h1>“Why did it say that?” becomes a contract clause.</h1>
+ <p class="lede">
+ Enterprise buyers increasingly require provenance: what source material fed the output, what version produced it, and what can be
+ verified after the fact. IF.TTT turns that requirement into a repeatable receipt surface.
+ </p>
+
+ <div class="panel">
+ <h3>Third‑party pressure</h3>
+ <ul class="list">
+ <li>Enterprise buyers demand defensible provenance without joining your internal stack.</li>
+ <li>Incident responders demand integrity-bound artifacts for “what happened.”</li>
+ <li>GRC teams demand a black/white boundary between verified evidence and interpretation.</li>
+ </ul>
+ </div>
+
+ <div class="panel" style="margin-top: 12px">
+ <h3>What IF.TTT provides</h3>
+ <div class="bw">
+ <div class="bw__row">
+ <div class="bw__k">Receipts</div>
+ <div class="bw__v">Trace pages + stable no‑login URLs for outputs and sources.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Disputes</div>
+ <div class="bw__v">Offline bundles for verification after access or context changes.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Clarity</div>
+ <div class="bw__v">Proves integrity and publication; does not claim intent or correctness.</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <aside class="hero__card" aria-label="Example receipt">
+ <div class="card">
+ <div class="card__media">
+ <img src="../../assets/red-team-doc-1024-559.jpg" alt="Dossier cover" loading="lazy" />
+ </div>
+ <div class="card__hdr">
+ <div class="badge badge--ok">RECEIPTS</div>
+ <div class="badge">DISPUTE‑READY</div>
+ </div>
+ <div class="card__body">
+ <div class="links">
+ <a class="linkrow" href="https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Example trace receipt</span>
+ <span class="linkrow__u">https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n</span>
+ </a>
+ </div>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">The output isn’t the product. The proof is.</div>
+ <div class="muted">
+ <a href="../">Verticals</a> · <a href="../../governance/">Governance</a> · <a href="../../api/">Developers</a> ·
+ <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a> <span class="bottombar__sep">·</span> Danny Stocker
+ </div>
+ </div>
+ </footer>
+
+ <div class="bottombar" aria-label="Quick links">
+ <div class="wrap bottombar__inner">
+ <div class="bottombar__left">
+ <span class="bottombar__label">Sectors</span>
+ <a href="../public-sector/">Public Sector</a>
+ <a href="../enterprise/">Enterprise</a>
+ <a href="../research/">Research</a>
+ <a href="../professional-services/">Professional</a>
+ <span class="bottombar__sep">·</span>
+ <span class="bottombar__label">Industries</span>
+ <a href="../healthcare/">Healthcare</a>
+ <a href="../finance/">Financial</a>
+ <a href="../legal/">Legal</a>
+ </div>
+ <div class="bottombar__right">
+ <a href="../../api/">Developers</a>
+ <span class="bottombar__sep">|</span>
+ <a href="../../api/">API</a>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+```
+
+</details>
+
+## /verticals/enterprise/
+- URL: https://infrafabric.io/verticals/enterprise/
+- Static: https://infrafabric.io/static/hosted/ifttt/verticals/enterprise/
+- Source: `ifttt/verticals/enterprise/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — Enterprise</title>
+ <meta name="description" content="IF.TTT for enterprises: third-party verifiable receipts for audits, vendor reviews, and internal governance without credential sprawl." />
+ <link rel="stylesheet" href="../../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../../" aria-label="IF.TTT home">
+ <img class="brand__logo" src="../../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">Enterprise</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Primary">
+ <a href="../">Verticals</a>
+ <a href="../../#how">How</a>
+ <a href="../../#verify">Verify</a>
+ <a href="../../governance/">Governance</a>
+ <a href="../../whitepaper/">Whitepaper</a>
+ <a href="../../about/">About</a>
+ <a href="../../api/">Developers</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">Enterprise reality</p>
+ <h1>Audits are a throughput problem.</h1>
+ <p class="lede">
+ Enterprise trust breaks when proof requires access: screenshots, ticket exports, and “trust me” Slack threads. IF.TTT replaces access
+ requirements with receipts—so verification is externalizable.
+ </p>
+
+ <div class="panel">
+ <h3>Third‑party pressure</h3>
+ <ul class="list">
+ <li>Auditors and customers ask the same question: “prove it was true at the time.”</li>
+ <li>Procurement needs evidence without granting broad credentials.</li>
+ <li>Executives need a narrative; security needs reproducible artifacts.</li>
+ </ul>
+ </div>
+
+ <div class="panel" style="margin-top: 12px">
+ <h3>What IF.TTT provides</h3>
+ <div class="bw">
+ <div class="bw__row">
+ <div class="bw__k">Receipt‑first</div>
+ <div class="bw__v">Integrity binding: <code>source_sha256</code> ↔ <code>output_sha256</code>.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">No‑login share</div>
+ <div class="bw__v">Public receipt surface for reviewers (with sandbox fallback paths).</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Offline option</div>
+ <div class="bw__v">Triage bundles for future disputes and restricted review.</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <aside class="hero__card" aria-label="Example receipt links">
+ <div class="card">
+ <div class="card__media">
+ <img src="../../assets/red-team-doc-1024-559.jpg" alt="Dossier cover" loading="lazy" />
+ </div>
+ <div class="card__hdr">
+ <div class="badge badge--ok">VERIFIABLE</div>
+ <div class="badge">BORING</div>
+ </div>
+ <div class="card__body">
+ <div class="links">
+ <a class="linkrow" href="https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Example trace receipt</span>
+ <span class="linkrow__u">https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n</span>
+ </a>
+ <a class="linkrow" href="https://infrafabric.io/static/pack/6qRgcR01kw_qNo63Dbs_ob9n.md" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Example pack (Markdown)</span>
+ <span class="linkrow__u">https://infrafabric.io/static/pack/6qRgcR01kw_qNo63Dbs_ob9n.md</span>
+ </a>
+ </div>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+
+ <section class="section section--alt">
+ <div class="wrap">
+ <h2>One sentence you can forward</h2>
+ <p class="sub">For stakeholder alignment without overclaiming.</p>
+ <div class="panel">
+ <p class="sub2">
+ IF.TTT supports audits by producing externally verifiable receipts—so reviewers don’t need your internal credentials to verify integrity.
+ </p>
+ </div>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">Make verification cheap. Keep access expensive.</div>
+ <div class="muted">
+ <a href="../">Verticals</a> · <a href="../../governance/">Governance</a> · <a href="../../api/">Developers</a> ·
+ <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a> <span class="bottombar__sep">·</span> Danny Stocker
+ </div>
+ </div>
+ </footer>
+
+ <div class="bottombar" aria-label="Quick links">
+ <div class="wrap bottombar__inner">
+ <div class="bottombar__left">
+ <span class="bottombar__label">Sectors</span>
+ <a href="../public-sector/">Public Sector</a>
+ <a href="../enterprise/">Enterprise</a>
+ <a href="../research/">Research</a>
+ <a href="../professional-services/">Professional</a>
+ <span class="bottombar__sep">·</span>
+ <span class="bottombar__label">Industries</span>
+ <a href="../healthcare/">Healthcare</a>
+ <a href="../finance/">Financial</a>
+ <a href="../legal/">Legal</a>
+ </div>
+ <div class="bottombar__right">
+ <a href="../../api/">Developers</a>
+ <span class="bottombar__sep">|</span>
+ <a href="../../api/">API</a>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+```
+
+</details>
+
+## /verticals/finance/
+- URL: https://infrafabric.io/verticals/finance/
+- Static: https://infrafabric.io/static/hosted/ifttt/verticals/finance/
+- Source: `ifttt/verticals/finance/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — Finance</title>
+ <meta name="description" content="IF.TTT for fintech and regulated finance: prove provenance, non-repudiation, and dispute-ready receipts for auditors and regulators." />
+ <link rel="stylesheet" href="../../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../../" aria-label="IF.TTT home">
+ <img class="brand__logo" src="../../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">Fintech / regulated finance</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Primary">
+ <a href="../">Verticals</a>
+ <a href="../../#trust">Trust</a>
+ <a href="../../#verify">Verify</a>
+ <a href="../../governance/">Governance</a>
+ <a href="../../whitepaper/">Whitepaper</a>
+ <a href="../../about/">About</a>
+ <a href="../../api/">Developers</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">Finance reality</p>
+ <h1>Regulators don’t buy narratives. They buy receipts.</h1>
+ <p class="lede">
+ In regulated finance, the first question after an incident is not “what did the model mean?” It’s “show me the evidence chain: inputs,
+ outputs, timestamps, and who approved what.”
+ </p>
+
+ <div class="panel">
+ <h3>Third‑party pressure</h3>
+ <ul class="list">
+ <li>Model risk / validation teams need reproducibility.</li>
+ <li>Internal audit needs non‑repudiation and time‑scoped proof.</li>
+ <li>Regulators need chain‑of‑custody that survives disputes.</li>
+ </ul>
+ </div>
+
+ <div class="panel" style="margin-top: 12px">
+ <h3>What IF.TTT provides</h3>
+ <div class="bw">
+ <div class="bw__row">
+ <div class="bw__k">Receipt</div>
+ <div class="bw__v">A public trace page binding <code>source_sha256</code> ↔ <code>output_sha256</code>.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Dispute</div>
+ <div class="bw__v">Offline bundles for later verification without relying on internal access.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Clarity</div>
+ <div class="bw__v">Black/white separation of what’s verified vs what is interpretation.</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <aside class="hero__card" aria-label="Receipt-first process">
+ <div class="card">
+ <div class="card__media">
+ <img src="../../assets/red-team-stamp-600.png" alt="EYES ONLY // DAVE stamp" loading="lazy" />
+ </div>
+ <div class="card__hdr">
+ <div class="badge badge--ok">PROCESS</div>
+ <div class="badge">RECEIPT‑FIRST</div>
+ </div>
+ <div class="card__body">
+ <ol class="steps">
+ <li class="step">
+ <div class="step__n">1</div>
+ <div class="step__b">
+ <div class="step__t">Hash the source</div>
+ <div class="step__d">Compute <code>source_sha256</code> of the exact bytes.</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">2</div>
+ <div class="step__b">
+ <div class="step__t">Hash the output</div>
+ <div class="step__d">Compute <code>output_sha256</code> of what is published.</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">3</div>
+ <div class="step__b">
+ <div class="step__t">Publish the trace</div>
+ <div class="step__d">Receipt links hashes + trace id + version.</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">4</div>
+ <div class="step__b">
+ <div class="step__t">Share without login</div>
+ <div class="step__d">Stable URLs keyed by <code>shareId</code>.</div>
+ </div>
+ </li>
+ </ol>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+
+ <section class="section section--alt">
+ <div class="wrap">
+ <h2>Artifacts you can hand to third parties</h2>
+ <p class="sub">This is the point: reviewers shouldn’t need your VPN.</p>
+ <pre class="code"><code>Trace receipt: https://infrafabric.io/static/trace/<shareId>
+Output (rendered): https://infrafabric.io/static/dossier/<shareId>
+Output (raw): https://infrafabric.io/static/dossier/<shareId>/download
+Offline bundles: https://infrafabric.io/static/hosted/review/trace-bundles/<id>/index.html</code></pre>
+ </div>
+ </section>
+
+ <section class="section">
+ <div class="wrap">
+ <h2>Live example</h2>
+ <div class="links">
+ <a class="linkrow" href="https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Example trace receipt</span>
+ <span class="linkrow__u">https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n</span>
+ </a>
+ </div>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">Finance isn’t special. The auditors are just earlier.</div>
+ <div class="muted">
+ <a href="../">Verticals</a> · <a href="../../governance/">Governance</a> · <a href="../../api/">Developers</a> ·
+ <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a> <span class="bottombar__sep">·</span> Danny Stocker
+ </div>
+ </div>
+ </footer>
+
+ <div class="bottombar" aria-label="Quick links">
+ <div class="wrap bottombar__inner">
+ <div class="bottombar__left">
+ <span class="bottombar__label">Sectors</span>
+ <a href="../public-sector/">Public Sector</a>
+ <a href="../enterprise/">Enterprise</a>
+ <a href="../research/">Research</a>
+ <a href="../professional-services/">Professional</a>
+ <span class="bottombar__sep">·</span>
+ <span class="bottombar__label">Industries</span>
+ <a href="../healthcare/">Healthcare</a>
+ <a href="../finance/">Financial</a>
+ <a href="../legal/">Legal</a>
+ </div>
+ <div class="bottombar__right">
+ <a href="../../api/">Developers</a>
+ <span class="bottombar__sep">|</span>
+ <a href="../../api/">API</a>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+```
+
+</details>
+
+## /verticals/government/
+- URL: https://infrafabric.io/verticals/government/
+- Static: https://infrafabric.io/static/hosted/ifttt/verticals/government/
+- Source: `ifttt/verticals/government/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — Government</title>
+ <meta
+ name="description"
+ content="IF.TTT for government and defense contractors: offline verification bundles and unambiguous chain-of-custody for assessors and supply chain reviews."
+ />
+ <link rel="stylesheet" href="../../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../../" aria-label="IF.TTT home">
+ <img class="brand__logo" src="../../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">Government / defense</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Primary">
+ <a href="../">Verticals</a>
+ <a href="../../#trust">Trust</a>
+ <a href="../../#verify">Verify</a>
+ <a href="../../governance/">Governance</a>
+ <a href="../../whitepaper/">Whitepaper</a>
+ <a href="../../about/">About</a>
+ <a href="../../api/">Developers</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">Government reality</p>
+ <h1>Assurance is an offline problem.</h1>
+ <p class="lede">
+ In restricted environments, the “can you verify it?” question must be answered without assuming network access, SaaS consoles, or vendor
+ portals. IF.TTT treats offline verification as a first‑class requirement.
+ </p>
+
+ <div class="panel">
+ <h3>Third‑party pressure</h3>
+ <ul class="list">
+ <li>Assessors demand chain‑of‑custody and unambiguous provenance.</li>
+ <li>Procurement wants proof that survives vendor handoffs.</li>
+ <li>Security teams need evidence that is portable across networks and time.</li>
+ </ul>
+ </div>
+
+ <div class="panel" style="margin-top: 12px">
+ <h3>What IF.TTT provides</h3>
+ <div class="bw">
+ <div class="bw__row">
+ <div class="bw__k">Offline bundles</div>
+ <div class="bw__v">Triage bundles (lightweight/standard/full) with expected hashes for trustless verification.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Receipt surface</div>
+ <div class="bw__v">Stable no‑login URLs for trace + output + source.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Black/white</div>
+ <div class="bw__v">Clear statement of what integrity receipts prove—and what they don’t.</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <aside class="hero__card" aria-label="Triage bundle selector">
+ <div class="card">
+ <div class="card__media">
+ <img src="../../assets/red-team-doc-1024-559.jpg" alt="Dossier cover" loading="lazy" />
+ </div>
+ <div class="card__hdr">
+ <div class="badge badge--ok">OFFLINE</div>
+ <div class="badge">TRIAGE BUNDLES</div>
+ </div>
+ <div class="card__body">
+ <div class="links">
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/review/trace-bundles/d70ed99a/index.html" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Triage selector (HTML)</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/review/trace-bundles/d70ed99a/index.html</span>
+ </a>
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/iftrace.html" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Verifier (HTML)</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/iftrace.html</span>
+ </a>
+ </div>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+
+ <section class="section section--alt">
+ <div class="wrap">
+ <h2>What you can hand to an assessor</h2>
+ <p class="sub">No accounts required. No internal consoles required.</p>
+ <pre class="code"><code>Trace receipt: https://infrafabric.io/static/trace/<shareId>
+Bundle selector: https://infrafabric.io/static/hosted/review/trace-bundles/<id>/index.html
+Verifier: https://infrafabric.io/static/hosted/iftrace.py</code></pre>
+ </div>
+ </section>
+
+ <section class="section">
+ <div class="wrap">
+ <h2>Live example</h2>
+ <div class="links">
+ <a class="linkrow" href="https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Example trace receipt</span>
+ <span class="linkrow__u">https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n</span>
+ </a>
+ </div>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">If it can’t be verified offline, it’s not a control.</div>
+ <div class="muted">
+ <a href="../">Verticals</a> · <a href="../../governance/">Governance</a> · <a href="../../api/">Developers</a> ·
+ <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a> <span class="bottombar__sep">·</span> Danny Stocker
+ </div>
+ </div>
+ </footer>
+
+ <div class="bottombar" aria-label="Quick links">
+ <div class="wrap bottombar__inner">
+ <div class="bottombar__left">
+ <span class="bottombar__label">Sectors</span>
+ <a href="../public-sector/">Public Sector</a>
+ <a href="../enterprise/">Enterprise</a>
+ <a href="../research/">Research</a>
+ <a href="../professional-services/">Professional</a>
+ <span class="bottombar__sep">·</span>
+ <span class="bottombar__label">Industries</span>
+ <a href="../healthcare/">Healthcare</a>
+ <a href="../finance/">Financial</a>
+ <a href="../legal/">Legal</a>
+ </div>
+ <div class="bottombar__right">
+ <a href="../../api/">Developers</a>
+ <span class="bottombar__sep">|</span>
+ <a href="../../api/">API</a>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+```
+
+</details>
+
+## /verticals/healthcare/
+- URL: https://infrafabric.io/verticals/healthcare/
+- Static: https://infrafabric.io/static/hosted/ifttt/verticals/healthcare/
+- Source: `ifttt/verticals/healthcare/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — Healthcare</title>
+ <meta
+ name="description"
+ content="IF.TTT for healthcare: clear boundaries on what is verified vs inferred, and portable evidence for audits and incident review."
+ />
+ <link rel="stylesheet" href="../../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../../" aria-label="IF.TTT home">
+ <img class="brand__logo" src="../../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">Healthcare</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Primary">
+ <a href="../">Verticals</a>
+ <a href="../../#trust">Trust</a>
+ <a href="../../#verify">Verify</a>
+ <a href="../../governance/">Governance</a>
+ <a href="../../whitepaper/">Whitepaper</a>
+ <a href="../../about/">About</a>
+ <a href="../../api/">Developers</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">Healthcare reality</p>
+ <h1>Clarity beats confidence.</h1>
+ <p class="lede">
+ Healthcare environments punish ambiguity. IF.TTT makes “what we can prove” explicit, and forces everything else to be labeled as
+ interpretation or review-required.
+ </p>
+
+ <div class="panel">
+ <h3>Third‑party pressure</h3>
+ <ul class="list">
+ <li>Compliance wants evidence that is bounded and reviewable.</li>
+ <li>Incident reviewers want provenance for outputs and decisions.</li>
+ <li>Vendors and partners want proof without access to your internal tooling.</li>
+ </ul>
+ </div>
+
+ <div class="panel" style="margin-top: 12px">
+ <h3>What IF.TTT provides</h3>
+ <div class="bw">
+ <div class="bw__row">
+ <div class="bw__k">Verified</div>
+ <div class="bw__v">Integrity binding (hashes), receipts, optional signatures.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Not verified</div>
+ <div class="bw__v">Clinical intent, interpretation, or correctness of conclusions.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Outcome</div>
+ <div class="bw__v">Evidence becomes legible to outsiders without pretending it is “the decision.”</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <aside class="hero__card" aria-label="Receipt-first process">
+ <div class="card">
+ <div class="card__media">
+ <img src="../../assets/red-team-stamp-600.png" alt="EYES ONLY // DAVE stamp" loading="lazy" />
+ </div>
+ <div class="card__hdr">
+ <div class="badge badge--ok">BLACK/WHITE</div>
+ <div class="badge">BOUNDARIES</div>
+ </div>
+ <div class="card__body">
+ <ol class="steps">
+ <li class="step">
+ <div class="step__n">1</div>
+ <div class="step__b">
+ <div class="step__t">Hash artifacts</div>
+ <div class="step__d">Source and output bytes get stable hashes.</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">2</div>
+ <div class="step__b">
+ <div class="step__t">Publish receipts</div>
+ <div class="step__d">Trace page shows what can be verified.</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">3</div>
+ <div class="step__b">
+ <div class="step__t">Export bundles (optional)</div>
+ <div class="step__d">For constrained review environments.</div>
+ </div>
+ </li>
+ </ol>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">Healthcare needs boundaries more than optimism.</div>
+ <div class="muted">
+ <a href="../">Verticals</a> · <a href="../../governance/">Governance</a> · <a href="../../api/">Developers</a> ·
+ <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a> <span class="bottombar__sep">·</span> Danny Stocker
+ </div>
+ </div>
+ </footer>
+
+ <div class="bottombar" aria-label="Quick links">
+ <div class="wrap bottombar__inner">
+ <div class="bottombar__left">
+ <span class="bottombar__label">Sectors</span>
+ <a href="../public-sector/">Public Sector</a>
+ <a href="../enterprise/">Enterprise</a>
+ <a href="../research/">Research</a>
+ <a href="../professional-services/">Professional</a>
+ <span class="bottombar__sep">·</span>
+ <span class="bottombar__label">Industries</span>
+ <a href="../healthcare/">Healthcare</a>
+ <a href="../finance/">Financial</a>
+ <a href="../legal/">Legal</a>
+ </div>
+ <div class="bottombar__right">
+ <a href="../../api/">Developers</a>
+ <span class="bottombar__sep">|</span>
+ <a href="../../api/">API</a>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+```
+
+</details>
+
+## /verticals/
+- URL: https://infrafabric.io/verticals/
+- Static: https://infrafabric.io/static/hosted/ifttt/verticals/
+- Source: `ifttt/verticals/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — Verticals</title>
+ <meta name="description" content="Vertical fit overview for IF.TTT: third-party trust pressure mapped to receipts, bundles, and verification." />
+ <link rel="stylesheet" href="../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../" aria-label="IF.TTT home">
+ <img class="brand__logo" src="../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">Vertical fit</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Primary">
+ <a href="../#how">How</a>
+ <a href="../#trust">Trust</a>
+ <a href="../#verify">Verify</a>
+ <a href="../governance/">Governance</a>
+ <a href="../whitepaper/">Whitepaper</a>
+ <a href="../about/">About</a>
+ <a href="../api/">Developers</a>
+ <a class="lang" href="../fr/" aria-label="French">FR</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">Same mechanism, different pressure</p>
+ <h1>Two axes: who is buying, what is at stake.</h1>
+ <p class="lede">
+ IF.TTT doesn’t “solve compliance.” It solves the universal problem underneath compliance: third parties demanding proof without joining your
+ internal world. The receipts stay the same; the incentives and failure modes change.
+ </p>
+ <div class="cta">
+ <a class="btn btn--primary" href="../#verify">Try a live trace</a>
+ <a class="btn" href="../api/">Developer surface</a>
+ </div>
+ </div>
+
+ <aside class="hero__card" aria-label="Receipt-first sequence">
+ <div class="card">
+ <div class="card__media">
+ <img src="../assets/red-team-doc-1024-559.jpg" alt="Red Team dossier cover" loading="lazy" />
+ </div>
+ <div class="card__hdr">
+ <div class="badge badge--ok">RECEIPT‑FIRST</div>
+ <div class="badge">NO‑LOGIN</div>
+ </div>
+ <div class="card__body">
+ <ol class="steps">
+ <li class="step">
+ <div class="step__n">1</div>
+ <div class="step__b">
+ <div class="step__t">Hash the source</div>
+ <div class="step__d">Compute <code>source_sha256</code>.</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">2</div>
+ <div class="step__b">
+ <div class="step__t">Hash the output</div>
+ <div class="step__d">Compute <code>output_sha256</code>.</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">3</div>
+ <div class="step__b">
+ <div class="step__t">Publish the trace</div>
+ <div class="step__d">A receipt page binds source ↔ output.</div>
+ </div>
+ </li>
+ </ol>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+
+ <section class="section section--alt">
+ <div class="wrap">
+ <h2>Browse by sector</h2>
+ <p class="sub">Who the buyer is. The same receipts, different pressure.</p>
+
+ <div class="cards">
+ <article class="vcard">
+ <h3>Public Sector</h3>
+ <p class="vcard__v">Procurement cycles, oversight, offline verification.</p>
+ <a class="vcard__more" href="./public-sector/">Public Sector →</a>
+ </article>
+ <article class="vcard">
+ <h3>Enterprise</h3>
+ <p class="vcard__v">Audits as throughput; evidence without credential sprawl.</p>
+ <a class="vcard__more" href="./enterprise/">Enterprise →</a>
+ </article>
+ <article class="vcard">
+ <h3>Research</h3>
+ <p class="vcard__v">Provenance, reproducibility, and external reviewers.</p>
+ <a class="vcard__more" href="./research/">Research →</a>
+ </article>
+ <article class="vcard">
+ <h3>Professional Services</h3>
+ <p class="vcard__v">Client handoffs, disputes, and custody that holds up later.</p>
+ <a class="vcard__more" href="./professional-services/">Professional Services →</a>
+ </article>
+ </div>
+
+ <h2 style="margin-top: 28px">Browse by industry</h2>
+ <p class="sub">What domain the risk lives in: regulation, data, and dispute pressure.</p>
+
+ <div class="cards">
+ <article class="vcard">
+ <h3>Healthcare</h3>
+ <p class="vcard__v">Audit trails, privacy boundaries, dispute‑ready artifacts.</p>
+ <a class="vcard__more" href="./healthcare/">Healthcare →</a>
+ </article>
+ <article class="vcard">
+ <h3>Financial Services</h3>
+ <p class="vcard__v">Model risk, non‑repudiation, evidence for regulators.</p>
+ <a class="vcard__more" href="./finance/">Financial →</a>
+ </article>
+ <article class="vcard">
+ <h3>Legal</h3>
+ <p class="vcard__v">Chain‑of‑custody for drafts, evidence, and decisions.</p>
+ <a class="vcard__more" href="./legal/">Legal →</a>
+ </article>
+ </div>
+
+ <h2 style="margin-top: 28px">More pressure profiles</h2>
+ <p class="sub">Common governance failure modes that appear across sectors and industries.</p>
+
+ <div class="cards">
+ <article class="vcard">
+ <h3>B2B SaaS (SOC 2 / ISO)</h3>
+ <p class="vcard__v">Auditors, procurement, “prove it existed at the time.”</p>
+ <a class="vcard__more" href="./saas/">B2B SaaS →</a>
+ </article>
+ <article class="vcard">
+ <h3>SecOps / SOC</h3>
+ <p class="vcard__v">Bind summaries to evidence; keep custody intact.</p>
+ <a class="vcard__more" href="./secops/">SecOps →</a>
+ </article>
+ <article class="vcard">
+ <h3>AI Product Companies</h3>
+ <p class="vcard__v">Provable provenance for outputs: “why did it say that?”</p>
+ <a class="vcard__more" href="./ai/">AI products →</a>
+ </article>
+ <article class="vcard">
+ <h3>Industrial / Supply Chain</h3>
+ <p class="vcard__v">Traceability that survives vendor and contractor handoffs.</p>
+ <a class="vcard__more" href="./supply-chain/">Supply chain →</a>
+ </article>
+ </div>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">InfraFabric • IF.TTT receipts are designed to be legible to the governed.</div>
+ <div class="muted">
+ <a href="../">IF.TTT</a> · <a href="../governance/">Governance</a> · <a href="../api/">Developers</a> ·
+ <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a> <span class="bottombar__sep">·</span> Danny Stocker
+ </div>
+ </div>
+ </footer>
+
+ <div class="bottombar" aria-label="Quick links">
+ <div class="wrap bottombar__inner">
+ <div class="bottombar__left">
+ <span class="bottombar__label">Sectors</span>
+ <a href="./public-sector/">Public Sector</a>
+ <a href="./enterprise/">Enterprise</a>
+ <a href="./research/">Research</a>
+ <a href="./professional-services/">Professional</a>
+ <span class="bottombar__sep">·</span>
+ <span class="bottombar__label">Industries</span>
+ <a href="./healthcare/">Healthcare</a>
+ <a href="./finance/">Financial</a>
+ <a href="./legal/">Legal</a>
+ </div>
+ <div class="bottombar__right">
+ <a href="../api/">Developers</a>
+ <span class="bottombar__sep">|</span>
+ <a href="../api/">API</a>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+```
+
+</details>
+
+## /verticals/legal/
+- URL: https://infrafabric.io/verticals/legal/
+- Static: https://infrafabric.io/static/hosted/ifttt/verticals/legal/
+- Source: `ifttt/verticals/legal/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — Legal</title>
+ <meta name="description" content="IF.TTT for legal workflows: chain-of-custody for drafts, evidence, and decisions. Receipts, not recollections." />
+ <link rel="stylesheet" href="../../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../../" aria-label="IF.TTT home">
+ <img class="brand__logo" src="../../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">Legal</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Primary">
+ <a href="../">Verticals</a>
+ <a href="../../#trust">Trust</a>
+ <a href="../../#verify">Verify</a>
+ <a href="../../governance/">Governance</a>
+ <a href="../../whitepaper/">Whitepaper</a>
+ <a href="../../about/">About</a>
+ <a href="../../api/">Developers</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">Legal reality</p>
+ <h1>Courts don’t accept “trust me.” They accept provenance.</h1>
+ <p class="lede">
+ Legal and compliance teams live in the difference between “we believe this happened” and “we can prove this happened.” IF.TTT is built to
+ make that proof portable.
+ </p>
+
+ <div class="panel">
+ <h3>Third‑party pressure</h3>
+ <ul class="list">
+ <li>Disputes demand reproducibility: the exact input and the exact output.</li>
+ <li>Evidence must be time‑scoped: “what did we know, when did we know it?”</li>
+ <li>Chain‑of‑custody must survive handoffs (vendor → customer → counsel → auditor).</li>
+ </ul>
+ </div>
+
+ <div class="panel" style="margin-top: 12px">
+ <h3>What IF.TTT provides</h3>
+ <div class="bw">
+ <div class="bw__row">
+ <div class="bw__k">Integrity</div>
+ <div class="bw__v">Hash receipts bind the published bytes to what was reviewed.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Portability</div>
+ <div class="bw__v">No‑login links and offline bundles for external review.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Clarity</div>
+ <div class="bw__v">Explicit “proves / does not prove” framing reduces ambiguity.</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <aside class="hero__card" aria-label="Receipt-first process">
+ <div class="card">
+ <div class="card__media">
+ <img src="../../assets/red-team-doc-1024-559.jpg" alt="Dossier cover" loading="lazy" />
+ </div>
+ <div class="card__hdr">
+ <div class="badge badge--ok">EVIDENCE</div>
+ <div class="badge">CHAIN‑OF‑CUSTODY</div>
+ </div>
+ <div class="card__body">
+ <ol class="steps">
+ <li class="step">
+ <div class="step__n">1</div>
+ <div class="step__b">
+ <div class="step__t">Define the artifact</div>
+ <div class="step__d">Identify the exact bytes to be relied upon.</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">2</div>
+ <div class="step__b">
+ <div class="step__t">Hash it</div>
+ <div class="step__d">Publish <code>sha256</code> as the integrity baseline.</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">3</div>
+ <div class="step__b">
+ <div class="step__t">Issue the receipt</div>
+ <div class="step__d">Trace page binds source ↔ output with a trace id.</div>
+ </div>
+ </li>
+ </ol>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+
+ <section class="section section--alt">
+ <div class="wrap">
+ <h2>Artifacts that make disputes less expensive</h2>
+ <p class="sub">You can hand these to an external reviewer without shipping your internal systems.</p>
+ <pre class="code"><code>Trace receipt: https://infrafabric.io/static/trace/<shareId>
+Output (raw): https://infrafabric.io/static/dossier/<shareId>/download
+Review pack: https://infrafabric.io/static/review/<shareId>
+Offline bundles: https://infrafabric.io/static/hosted/review/trace-bundles/<id>/index.html</code></pre>
+ </div>
+ </section>
+
+ <section class="section">
+ <div class="wrap">
+ <h2>Live example</h2>
+ <div class="links">
+ <a class="linkrow" href="https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Example trace receipt</span>
+ <span class="linkrow__u">https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n</span>
+ </a>
+ </div>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">Legal is just governance with deadlines.</div>
+ <div class="muted">
+ <a href="../">Verticals</a> · <a href="../../governance/">Governance</a> · <a href="../../api/">Developers</a> ·
+ <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a> <span class="bottombar__sep">·</span> Danny Stocker
+ </div>
+ </div>
+ </footer>
+
+ <div class="bottombar" aria-label="Quick links">
+ <div class="wrap bottombar__inner">
+ <div class="bottombar__left">
+ <span class="bottombar__label">Sectors</span>
+ <a href="../public-sector/">Public Sector</a>
+ <a href="../enterprise/">Enterprise</a>
+ <a href="../research/">Research</a>
+ <a href="../professional-services/">Professional</a>
+ <span class="bottombar__sep">·</span>
+ <span class="bottombar__label">Industries</span>
+ <a href="../healthcare/">Healthcare</a>
+ <a href="../finance/">Financial</a>
+ <a href="../legal/">Legal</a>
+ </div>
+ <div class="bottombar__right">
+ <a href="../../api/">Developers</a>
+ <span class="bottombar__sep">|</span>
+ <a href="../../api/">API</a>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+```
+
+</details>
+
+## /verticals/professional-services/
+- URL: https://infrafabric.io/verticals/professional-services/
+- Static: https://infrafabric.io/static/hosted/ifttt/verticals/professional-services/
+- Source: `ifttt/verticals/professional-services/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — Professional Services</title>
+ <meta
+ name="description"
+ content="IF.TTT for professional services: receipts and chain-of-custody artifacts that hold up across clients, engagements, and disputes."
+ />
+ <link rel="stylesheet" href="../../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../../" aria-label="IF.TTT home">
+ <img class="brand__logo" src="../../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">Professional services</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Primary">
+ <a href="../">Verticals</a>
+ <a href="../../#trust">Trust</a>
+ <a href="../../#verify">Verify</a>
+ <a href="../../governance/">Governance</a>
+ <a href="../../whitepaper/">Whitepaper</a>
+ <a href="../../about/">About</a>
+ <a href="../../api/">Developers</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">Services reality</p>
+ <h1>The deliverable is the receipt.</h1>
+ <p class="lede">
+ In professional services, the artifact you hand over becomes evidence: audits, disputes, expert reports, procurement packs. IF.TTT makes
+ the handoff verifiable without making you a credential broker.
+ </p>
+
+ <div class="panel">
+ <h3>Third‑party pressure</h3>
+ <ul class="list">
+ <li>Clients want proof; opposing counsel wants provenance.</li>
+ <li>Auditors need artifacts they can verify without your internal access.</li>
+ <li>Engagements outlive inboxes; the evidence must remain stable.</li>
+ </ul>
+ </div>
+
+ <div class="panel" style="margin-top: 12px">
+ <h3>What IF.TTT provides</h3>
+ <div class="bw">
+ <div class="bw__row">
+ <div class="bw__k">Chain‑of‑custody</div>
+ <div class="bw__v">Trace receipt binds source ↔ output, plus IDs and timestamps.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Portable proofs</div>
+ <div class="bw__v">Bundles can be archived with the case file and re‑verified later.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Clarity</div>
+ <div class="bw__v">What was verified is shown; interpretation is labeled as interpretation.</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <aside class="hero__card" aria-label="Example receipt links">
+ <div class="card">
+ <div class="card__media">
+ <img src="../../assets/red-team-doc-1024-559.jpg" alt="Dossier cover" loading="lazy" />
+ </div>
+ <div class="card__hdr">
+ <div class="badge badge--ok">EXPORTABLE</div>
+ <div class="badge">DISPUTE‑READY</div>
+ </div>
+ <div class="card__body">
+ <div class="links">
+ <a class="linkrow" href="https://infrafabric.io/static/pack/6qRgcR01kw_qNo63Dbs_ob9n" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Example pack (HTML)</span>
+ <span class="linkrow__u">https://infrafabric.io/static/pack/6qRgcR01kw_qNo63Dbs_ob9n</span>
+ </a>
+ <a class="linkrow" href="https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Example trace receipt</span>
+ <span class="linkrow__u">https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n</span>
+ </a>
+ </div>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+
+ <section class="section section--alt">
+ <div class="wrap">
+ <h2>Operational trap to avoid</h2>
+ <p class="sub">Don’t turn verification into credential distribution.</p>
+ <div class="grid2">
+ <div class="panel">
+ <h3>Bad</h3>
+ <p class="sub2">“Log in to our system and we’ll show you.”</p>
+ </div>
+ <div class="panel">
+ <h3>Good</h3>
+ <p class="sub2">“Here is the artifact, here is the receipt, verify without us.”</p>
+ </div>
+ </div>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">If the reviewer needs your credentials, it’s not verifiable.</div>
+ <div class="muted">
+ <a href="../">Verticals</a> · <a href="../../governance/">Governance</a> · <a href="../../api/">Developers</a> ·
+ <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a> <span class="bottombar__sep">·</span> Danny Stocker
+ </div>
+ </div>
+ </footer>
+
+ <div class="bottombar" aria-label="Quick links">
+ <div class="wrap bottombar__inner">
+ <div class="bottombar__left">
+ <span class="bottombar__label">Sectors</span>
+ <a href="../public-sector/">Public Sector</a>
+ <a href="../enterprise/">Enterprise</a>
+ <a href="../research/">Research</a>
+ <a href="../professional-services/">Professional</a>
+ <span class="bottombar__sep">·</span>
+ <span class="bottombar__label">Industries</span>
+ <a href="../healthcare/">Healthcare</a>
+ <a href="../finance/">Financial</a>
+ <a href="../legal/">Legal</a>
+ </div>
+ <div class="bottombar__right">
+ <a href="../../api/">Developers</a>
+ <span class="bottombar__sep">|</span>
+ <a href="../../api/">API</a>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+```
+
+</details>
+
+## /verticals/public-sector/
+- URL: https://infrafabric.io/verticals/public-sector/
+- Static: https://infrafabric.io/static/hosted/ifttt/verticals/public-sector/
+- Source: `ifttt/verticals/public-sector/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — Public Sector</title>
+ <meta
+ name="description"
+ content="IF.TTT for the public sector: public receipts, offline verification bundles, and unambiguous chain-of-custody for external reviewers."
+ />
+ <link rel="stylesheet" href="../../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../../" aria-label="IF.TTT home">
+ <img class="brand__logo" src="../../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">Public sector</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Primary">
+ <a href="../">Verticals</a>
+ <a href="../../#trust">Trust</a>
+ <a href="../../#verify">Verify</a>
+ <a href="../../governance/">Governance</a>
+ <a href="../../whitepaper/">Whitepaper</a>
+ <a href="../../about/">About</a>
+ <a href="../../api/">Developers</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">Public sector reality</p>
+ <h1>Proof must survive procurement.</h1>
+ <p class="lede">
+ Public accountability is a third‑party problem: reviewers need proof without getting access to your internal systems. IF.TTT turns “trust
+ us” into receipts that a stranger can verify.
+ </p>
+
+ <div class="panel">
+ <h3>Third‑party pressure</h3>
+ <ul class="list">
+ <li>Assessors need chain‑of‑custody that survives vendor handoffs.</li>
+ <li>Procurement and oversight bodies require documentation that outlives staff turnover.</li>
+ <li>Some environments must support offline verification by design.</li>
+ </ul>
+ </div>
+
+ <div class="panel" style="margin-top: 12px">
+ <h3>What IF.TTT provides</h3>
+ <div class="bw">
+ <div class="bw__row">
+ <div class="bw__k">Receipt surface</div>
+ <div class="bw__v">Stable, no‑login URLs for trace + output + source.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Offline bundles</div>
+ <div class="bw__v">Triage bundles (lightweight/standard/full) with expected hashes.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Black/white</div>
+ <div class="bw__v">States what is verified (integrity) and what is not (interpretation).</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <aside class="hero__card" aria-label="Example receipt links">
+ <div class="card">
+ <div class="card__media">
+ <img src="../../assets/red-team-doc-1024-559.jpg" alt="Dossier cover" loading="lazy" />
+ </div>
+ <div class="card__hdr">
+ <div class="badge badge--ok">OFFLINE</div>
+ <div class="badge">RECEIPTS</div>
+ </div>
+ <div class="card__body">
+ <div class="links">
+ <a
+ class="linkrow"
+ href="https://infrafabric.io/static/hosted/review/trace-bundles/b6547c03/index.html"
+ target="_blank"
+ rel="noreferrer"
+ >
+ <span class="linkrow__t">Triage selector (HTML)</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/review/trace-bundles/b6547c03/index.html</span>
+ </a>
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/iftrace.html" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Verifier (HTML)</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/iftrace.html</span>
+ </a>
+ </div>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+
+ <section class="section section--alt">
+ <div class="wrap">
+ <h2>What you can hand to a reviewer</h2>
+ <p class="sub">No accounts required. No internal consoles required.</p>
+ <pre class="code"><code>Trace receipt: https://infrafabric.io/static/trace/<shareId>
+Pack (HTML): https://infrafabric.io/static/pack/<shareId>
+Bundle selector: https://infrafabric.io/static/hosted/review/trace-bundles/<id>/index.html</code></pre>
+ </div>
+ </section>
+
+ <section class="section">
+ <div class="wrap">
+ <h2>Live example</h2>
+ <div class="links">
+ <a class="linkrow" href="https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Example trace receipt</span>
+ <span class="linkrow__u">https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n</span>
+ </a>
+ </div>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">Public verification is a product requirement.</div>
+ <div class="muted">
+ <a href="../">Verticals</a> · <a href="../../governance/">Governance</a> · <a href="../../api/">Developers</a> ·
+ <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a> <span class="bottombar__sep">·</span> Danny Stocker
+ </div>
+ </div>
+ </footer>
+
+ <div class="bottombar" aria-label="Quick links">
+ <div class="wrap bottombar__inner">
+ <div class="bottombar__left">
+ <span class="bottombar__label">Sectors</span>
+ <a href="../public-sector/">Public Sector</a>
+ <a href="../enterprise/">Enterprise</a>
+ <a href="../research/">Research</a>
+ <a href="../professional-services/">Professional</a>
+ <span class="bottombar__sep">·</span>
+ <span class="bottombar__label">Industries</span>
+ <a href="../healthcare/">Healthcare</a>
+ <a href="../finance/">Financial</a>
+ <a href="../legal/">Legal</a>
+ </div>
+ <div class="bottombar__right">
+ <a href="../../api/">Developers</a>
+ <span class="bottombar__sep">|</span>
+ <a href="../../api/">API</a>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+```
+
+</details>
+
+## /verticals/research/
+- URL: https://infrafabric.io/verticals/research/
+- Static: https://infrafabric.io/static/hosted/ifttt/verticals/research/
+- Source: `ifttt/verticals/research/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — Research</title>
+ <meta name="description" content="IF.TTT for research: provenance and reproducibility for reports, analyses, datasets, and AI outputs." />
+ <link rel="stylesheet" href="../../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../../" aria-label="IF.TTT home">
+ <img class="brand__logo" src="../../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">Research</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Primary">
+ <a href="../">Verticals</a>
+ <a href="../../#how">How</a>
+ <a href="../../#verify">Verify</a>
+ <a href="../../governance/">Governance</a>
+ <a href="../../whitepaper/">Whitepaper</a>
+ <a href="../../about/">About</a>
+ <a href="../../api/">Developers</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">Research reality</p>
+ <h1>Reproducibility is governance.</h1>
+ <p class="lede">
+ Research already understands receipts: methods, datasets, citations. IF.TTT applies the same discipline to AI outputs and operational
+ decisions: publish what can be verified, label what can’t, and keep the bytes stable.
+ </p>
+
+ <div class="panel">
+ <h3>Third‑party pressure</h3>
+ <ul class="list">
+ <li>Peer review demands the ability to reproduce claims.</li>
+ <li>Funding/compliance bodies demand provenance for decisions and outputs.</li>
+ <li>Collaborators need proof that the artifact they received is the artifact you published.</li>
+ </ul>
+ </div>
+
+ <div class="panel" style="margin-top: 12px">
+ <h3>What IF.TTT provides</h3>
+ <div class="bw">
+ <div class="bw__row">
+ <div class="bw__k">Integrity</div>
+ <div class="bw__v">Hash receipts: same bytes, same hash, independent verification.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Clarity</div>
+ <div class="bw__v">Explicitly separates evidence (verified) from interpretation (not verified).</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Portability</div>
+ <div class="bw__v">Offline bundles for constrained or future review environments.</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <aside class="hero__card" aria-label="Receipt-first process">
+ <div class="card">
+ <div class="card__media">
+ <img src="../../assets/red-team-stamp-600.png" alt="EYES ONLY // DAVE stamp" loading="lazy" />
+ </div>
+ <div class="card__hdr">
+ <div class="badge badge--ok">PROCESS</div>
+ <div class="badge">PROVENANCE</div>
+ </div>
+ <div class="card__body">
+ <ol class="steps">
+ <li class="step">
+ <div class="step__n">1</div>
+ <div class="step__b">
+ <div class="step__t">Hash the source</div>
+ <div class="step__d">Dataset / paper / prompt pack → <code>source_sha256</code>.</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">2</div>
+ <div class="step__b">
+ <div class="step__t">Hash the output</div>
+ <div class="step__d">The artifact you publish → <code>output_sha256</code>.</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">3</div>
+ <div class="step__b">
+ <div class="step__t">Publish the trace</div>
+ <div class="step__d">Receipt binds source ↔ output, plus verification hooks.</div>
+ </div>
+ </li>
+ </ol>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+
+ <section class="section section--alt">
+ <div class="wrap">
+ <h2>Portable verification artifacts</h2>
+ <p class="sub">So reviewers can validate without trusting your infrastructure.</p>
+ <pre class="code"><code>Trace receipt: https://infrafabric.io/static/trace/<shareId>
+Pack (raw): https://infrafabric.io/static/pack/<shareId>.md
+Pack (HTML): https://infrafabric.io/static/pack/<shareId>
+Offline bundles: https://infrafabric.io/static/hosted/review/trace-bundles/<id>/index.html</code></pre>
+ </div>
+ </section>
+
+ <section class="section">
+ <div class="wrap">
+ <h2>Live example</h2>
+ <div class="links">
+ <a class="linkrow" href="https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Example trace receipt</span>
+ <span class="linkrow__u">https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n</span>
+ </a>
+ </div>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">If it can’t be reproduced, it can’t be governed.</div>
+ <div class="muted">
+ <a href="../">Verticals</a> · <a href="../../governance/">Governance</a> · <a href="../../api/">Developers</a> ·
+ <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a> <span class="bottombar__sep">·</span> Danny Stocker
+ </div>
+ </div>
+ </footer>
+
+ <div class="bottombar" aria-label="Quick links">
+ <div class="wrap bottombar__inner">
+ <div class="bottombar__left">
+ <span class="bottombar__label">Sectors</span>
+ <a href="../public-sector/">Public Sector</a>
+ <a href="../enterprise/">Enterprise</a>
+ <a href="../research/">Research</a>
+ <a href="../professional-services/">Professional</a>
+ <span class="bottombar__sep">·</span>
+ <span class="bottombar__label">Industries</span>
+ <a href="../healthcare/">Healthcare</a>
+ <a href="../finance/">Financial</a>
+ <a href="../legal/">Legal</a>
+ </div>
+ <div class="bottombar__right">
+ <a href="../../api/">Developers</a>
+ <span class="bottombar__sep">|</span>
+ <a href="../../api/">API</a>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+```
+
+</details>
+
+## /verticals/saas/
+- URL: https://infrafabric.io/verticals/saas/
+- Static: https://infrafabric.io/static/hosted/ifttt/verticals/saas/
+- Source: `ifttt/verticals/saas/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — B2B SaaS</title>
+ <meta name="description" content="IF.TTT for B2B SaaS: auditor-ready receipts, no-login proof surfaces, and dispute-friendly bundles for SOC 2 / ISO programs." />
+ <link rel="stylesheet" href="../../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../../" aria-label="IF.TTT home">
+ <img class="brand__logo" src="../../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">B2B SaaS (SOC 2 / ISO)</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Primary">
+ <a href="../">Verticals</a>
+ <a href="../../#trust">Trust</a>
+ <a href="../../#verify">Verify</a>
+ <a href="../../governance/">Governance</a>
+ <a href="../../whitepaper/">Whitepaper</a>
+ <a href="../../about/">About</a>
+ <a href="../../api/">Developers</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">SaaS reality</p>
+ <h1>Audits are evidence requests with a deadline.</h1>
+ <p class="lede">
+ In B2B SaaS, the friction isn’t the control design. It’s proving the control existed at the right time, in the right scope, without
+ granting auditors full internal access.
+ </p>
+
+ <div class="panel">
+ <h3>Third‑party pressure</h3>
+ <ul class="list">
+ <li>Auditors want integrity-bound artifacts (not screenshots in shared drives).</li>
+ <li>Enterprise procurement wants reproducible proof without bespoke portals.</li>
+ <li>Post‑incident reviewers want “what did it say?” tied to “what did it see?”</li>
+ </ul>
+ </div>
+
+ <div class="panel" style="margin-top: 12px">
+ <h3>What IF.TTT provides</h3>
+ <div class="bw">
+ <div class="bw__row">
+ <div class="bw__k">No‑login</div>
+ <div class="bw__v">Stable URLs for trace + output + source, keyed by <code>shareId</code>.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Dispute‑ready</div>
+ <div class="bw__v">Offline bundles with expected hashes for later verification.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Black/white</div>
+ <div class="bw__v">Explicit “proves / does not prove” framing for auditor conversations.</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <aside class="hero__card" aria-label="Receipt-first process">
+ <div class="card">
+ <div class="card__media">
+ <img src="../../assets/red-team-doc-1024-559.jpg" alt="Dossier cover" loading="lazy" />
+ </div>
+ <div class="card__hdr">
+ <div class="badge badge--ok">RECEIPTS</div>
+ <div class="badge">AUDIT‑FRICTION</div>
+ </div>
+ <div class="card__body">
+ <ol class="steps">
+ <li class="step">
+ <div class="step__n">1</div>
+ <div class="step__b">
+ <div class="step__t">Hash the source</div>
+ <div class="step__d">Compute <code>source_sha256</code>.</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">2</div>
+ <div class="step__b">
+ <div class="step__t">Hash the output</div>
+ <div class="step__d">Compute <code>output_sha256</code>.</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">3</div>
+ <div class="step__b">
+ <div class="step__t">Publish the receipt</div>
+ <div class="step__d">Share a trace page with stable no‑login URLs.</div>
+ </div>
+ </li>
+ </ol>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+
+ <section class="section section--alt">
+ <div class="wrap">
+ <h2>Artifacts for auditors</h2>
+ <p class="sub">The purpose is to make evidence portable and boring.</p>
+ <pre class="code"><code>Trace receipt: https://infrafabric.io/static/trace/<shareId>
+Output (raw): https://infrafabric.io/static/dossier/<shareId>/download
+Pack (HTML): https://infrafabric.io/static/pack/<shareId></code></pre>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">If the evidence isn’t portable, the audit will be.</div>
+ <div class="muted">
+ <a href="../">Verticals</a> · <a href="../../governance/">Governance</a> · <a href="../../api/">Developers</a> ·
+ <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a> <span class="bottombar__sep">·</span> Danny Stocker
+ </div>
+ </div>
+ </footer>
+
+ <div class="bottombar" aria-label="Quick links">
+ <div class="wrap bottombar__inner">
+ <div class="bottombar__left">
+ <span class="bottombar__label">Sectors</span>
+ <a href="../public-sector/">Public Sector</a>
+ <a href="../enterprise/">Enterprise</a>
+ <a href="../research/">Research</a>
+ <a href="../professional-services/">Professional</a>
+ <span class="bottombar__sep">·</span>
+ <span class="bottombar__label">Industries</span>
+ <a href="../healthcare/">Healthcare</a>
+ <a href="../finance/">Financial</a>
+ <a href="../legal/">Legal</a>
+ </div>
+ <div class="bottombar__right">
+ <a href="../../api/">Developers</a>
+ <span class="bottombar__sep">|</span>
+ <a href="../../api/">API</a>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+```
+
+</details>
+
+## /verticals/sciences/
+- URL: https://infrafabric.io/verticals/sciences/
+- Static: https://infrafabric.io/static/hosted/ifttt/verticals/sciences/
+- Source: `ifttt/verticals/sciences/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — Sciences</title>
+ <meta name="description" content="IF.TTT for science and research: provenance and reproducibility for reports, analyses, and model outputs." />
+ <link rel="stylesheet" href="../../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../../" aria-label="IF.TTT home">
+ <img class="brand__logo" src="../../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">Sciences / research</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Primary">
+ <a href="../">Verticals</a>
+ <a href="../../#how">How</a>
+ <a href="../../#verify">Verify</a>
+ <a href="../../governance/">Governance</a>
+ <a href="../../whitepaper/">Whitepaper</a>
+ <a href="../../about/">About</a>
+ <a href="../../api/">Developers</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">Research reality</p>
+ <h1>Reproducibility is governance in a lab coat.</h1>
+ <p class="lede">
+ Scientific workflows already understand receipts: methods, datasets, and citations. IF.TTT is the same idea applied to AI outputs and
+ operational decisions: publish what can be verified, and mark what can’t.
+ </p>
+
+ <div class="panel">
+ <h3>Third‑party pressure</h3>
+ <ul class="list">
+ <li>Peer reviewers need the ability to reproduce claims.</li>
+ <li>Funding/compliance bodies need provenance for decisions and outputs.</li>
+ <li>Collaborators need proof that the artifact they received is the artifact you published.</li>
+ </ul>
+ </div>
+
+ <div class="panel" style="margin-top: 12px">
+ <h3>What IF.TTT provides</h3>
+ <div class="bw">
+ <div class="bw__row">
+ <div class="bw__k">Integrity</div>
+ <div class="bw__v">Hash receipts: same bytes, same hash, independent verification.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Clarity</div>
+ <div class="bw__v">Explicitly separates evidence (verified) from interpretation (not verified).</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Portability</div>
+ <div class="bw__v">Offline bundles for constrained or future review environments.</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <aside class="hero__card" aria-label="Receipt-first process">
+ <div class="card">
+ <div class="card__media">
+ <img src="../../assets/red-team-stamp-600.png" alt="EYES ONLY // DAVE stamp" loading="lazy" />
+ </div>
+ <div class="card__hdr">
+ <div class="badge badge--ok">PROCESS</div>
+ <div class="badge">PROVENANCE</div>
+ </div>
+ <div class="card__body">
+ <ol class="steps">
+ <li class="step">
+ <div class="step__n">1</div>
+ <div class="step__b">
+ <div class="step__t">Hash the source</div>
+ <div class="step__d">Dataset / paper / prompt pack → <code>source_sha256</code>.</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">2</div>
+ <div class="step__b">
+ <div class="step__t">Hash the output</div>
+ <div class="step__d">The output you publish → <code>output_sha256</code>.</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">3</div>
+ <div class="step__b">
+ <div class="step__t">Publish the trace</div>
+ <div class="step__d">Receipt binds source ↔ output with trace id and versions.</div>
+ </div>
+ </li>
+ </ol>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+
+ <section class="section section--alt">
+ <div class="wrap">
+ <h2>Portable verification artifacts</h2>
+ <p class="sub">So reviewers can validate without trusting your infrastructure.</p>
+ <pre class="code"><code>Trace receipt: https://infrafabric.io/static/trace/<shareId>
+Pack (raw): https://infrafabric.io/static/pack/<shareId>.md
+Pack (HTML): https://infrafabric.io/static/pack/<shareId>
+Offline bundles: https://infrafabric.io/static/hosted/review/trace-bundles/<id>/index.html</code></pre>
+ </div>
+ </section>
+
+ <section class="section">
+ <div class="wrap">
+ <h2>Live example</h2>
+ <div class="links">
+ <a class="linkrow" href="https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Example trace receipt</span>
+ <span class="linkrow__u">https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n</span>
+ </a>
+ </div>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">If it can’t be reproduced, it can’t be governed.</div>
+ <div class="muted">
+ <a href="../">Verticals</a> · <a href="../../governance/">Governance</a> · <a href="../../api/">Developers</a> ·
+ <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a> <span class="bottombar__sep">·</span> Danny Stocker
+ </div>
+ </div>
+ </footer>
+
+ <div class="bottombar" aria-label="Quick links">
+ <div class="wrap bottombar__inner">
+ <div class="bottombar__left">
+ <span class="bottombar__label">Sectors</span>
+ <a href="../public-sector/">Public Sector</a>
+ <a href="../enterprise/">Enterprise</a>
+ <a href="../research/">Research</a>
+ <a href="../professional-services/">Professional</a>
+ <span class="bottombar__sep">·</span>
+ <span class="bottombar__label">Industries</span>
+ <a href="../healthcare/">Healthcare</a>
+ <a href="../finance/">Financial</a>
+ <a href="../legal/">Legal</a>
+ </div>
+ <div class="bottombar__right">
+ <a href="../../api/">Developers</a>
+ <span class="bottombar__sep">|</span>
+ <a href="../../api/">API</a>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+```
+
+</details>
+
+## /verticals/secops/
+- URL: https://infrafabric.io/verticals/secops/
+- Static: https://infrafabric.io/static/hosted/ifttt/verticals/secops/
+- Source: `ifttt/verticals/secops/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — SecOps</title>
+ <meta name="description" content="IF.TTT for SecOps and SOC: bind AI summaries to evidence; preserve chain-of-custody for investigations and audits." />
+ <link rel="stylesheet" href="../../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../../" aria-label="IF.TTT home">
+ <img class="brand__logo" src="../../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">SecOps / SOC</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Primary">
+ <a href="../">Verticals</a>
+ <a href="../../#trust">Trust</a>
+ <a href="../../#verify">Verify</a>
+ <a href="../../governance/">Governance</a>
+ <a href="../../whitepaper/">Whitepaper</a>
+ <a href="../../about/">About</a>
+ <a href="../../api/">Developers</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">SecOps reality</p>
+ <h1>Bind “what the system said” to “what the system saw.”</h1>
+ <p class="lede">
+ AI summaries can help, but only if they remain verifiable against raw telemetry. IF.TTT makes the custody chain explicit: source bytes,
+ output bytes, and a receipt that can be validated by third parties.
+ </p>
+
+ <div class="panel">
+ <h3>Third‑party pressure</h3>
+ <ul class="list">
+ <li>Executives demand a narrative; auditors demand evidence.</li>
+ <li>Incident response needs reproducible artifacts, not recollections.</li>
+ <li>External assessors need proof without your SIEM credentials.</li>
+ </ul>
+ </div>
+
+ <div class="panel" style="margin-top: 12px">
+ <h3>What IF.TTT provides</h3>
+ <div class="bw">
+ <div class="bw__row">
+ <div class="bw__k">Trace receipt</div>
+ <div class="bw__v">Integrity binding: <code>source_sha256</code> ↔ <code>output_sha256</code>.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Offline proof</div>
+ <div class="bw__v">Bundles that can be verified after the fact, offline.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Clarity</div>
+ <div class="bw__v">What’s verified is stated; what’s interpretation is labeled as such.</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <aside class="hero__card" aria-label="Example receipt links">
+ <div class="card">
+ <div class="card__media">
+ <img src="../../assets/red-team-doc-1024-559.jpg" alt="Dossier cover" loading="lazy" />
+ </div>
+ <div class="card__hdr">
+ <div class="badge badge--ok">EVIDENCE</div>
+ <div class="badge">REPLAYABLE</div>
+ </div>
+ <div class="card__body">
+ <div class="links">
+ <a class="linkrow" href="https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Example trace receipt</span>
+ <span class="linkrow__u">https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n</span>
+ </a>
+ </div>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+
+ <section class="section section--alt">
+ <div class="wrap">
+ <h2>Operational trap to avoid</h2>
+ <p class="sub">Do not treat “AI summary” as evidence.</p>
+ <div class="grid2">
+ <div class="panel">
+ <h3>Bad</h3>
+ <p class="sub2">“The AI said this was resolved.”</p>
+ </div>
+ <div class="panel">
+ <h3>Good</h3>
+ <p class="sub2">“Here is the output, here is the evidence artifact, here is the receipt binding them.”</p>
+ </div>
+ </div>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">Summaries don’t hold up. Receipts do.</div>
+ <div class="muted">
+ <a href="../">Verticals</a> · <a href="../../governance/">Governance</a> · <a href="../../api/">Developers</a> ·
+ <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a> <span class="bottombar__sep">·</span> Danny Stocker
+ </div>
+ </div>
+ </footer>
+
+ <div class="bottombar" aria-label="Quick links">
+ <div class="wrap bottombar__inner">
+ <div class="bottombar__left">
+ <span class="bottombar__label">Sectors</span>
+ <a href="../public-sector/">Public Sector</a>
+ <a href="../enterprise/">Enterprise</a>
+ <a href="../research/">Research</a>
+ <a href="../professional-services/">Professional</a>
+ <span class="bottombar__sep">·</span>
+ <span class="bottombar__label">Industries</span>
+ <a href="../healthcare/">Healthcare</a>
+ <a href="../finance/">Financial</a>
+ <a href="../legal/">Legal</a>
+ </div>
+ <div class="bottombar__right">
+ <a href="../../api/">Developers</a>
+ <span class="bottombar__sep">|</span>
+ <a href="../../api/">API</a>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+```
+
+</details>
+
+## /verticals/supply-chain/
+- URL: https://infrafabric.io/verticals/supply-chain/
+- Static: https://infrafabric.io/static/hosted/ifttt/verticals/supply-chain/
+- Source: `ifttt/verticals/supply-chain/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — Supply Chain</title>
+ <meta
+ name="description"
+ content="IF.TTT for industrial and supply chain environments: change-control receipts that survive contractor handoffs and insurer/auditor review."
+ />
+ <link rel="stylesheet" href="../../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../../" aria-label="IF.TTT home">
+ <img class="brand__logo" src="../../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">Industrial / supply chain</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Primary">
+ <a href="../">Verticals</a>
+ <a href="../../#trust">Trust</a>
+ <a href="../../#verify">Verify</a>
+ <a href="../../governance/">Governance</a>
+ <a href="../../whitepaper/">Whitepaper</a>
+ <a href="../../about/">About</a>
+ <a href="../../api/">Developers</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">Supply chain reality</p>
+ <h1>Handoffs are where proof dies.</h1>
+ <p class="lede">
+ Industrial systems accumulate contractors, vendors, and integrators. IF.TTT standardizes a receipt surface so chain‑of‑custody doesn’t
+ collapse the moment responsibility moves.
+ </p>
+
+ <div class="panel">
+ <h3>Third‑party pressure</h3>
+ <ul class="list">
+ <li>Customers ask for change control evidence after outages.</li>
+ <li>Insurers ask what controls existed at the time of the incident.</li>
+ <li>Auditors ask for traceability across organizational boundaries.</li>
+ </ul>
+ </div>
+
+ <div class="panel" style="margin-top: 12px">
+ <h3>What IF.TTT provides</h3>
+ <div class="bw">
+ <div class="bw__row">
+ <div class="bw__k">Receipts</div>
+ <div class="bw__v">Stable no‑login trace + output + source URLs keyed by <code>shareId</code>.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Offline</div>
+ <div class="bw__v">Bundles for verification when networks and portals are unavailable.</div>
+ </div>
+ <div class="bw__row">
+ <div class="bw__k">Clarity</div>
+ <div class="bw__v">Integrity binding is verifiable; interpretation remains process-owned.</div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <aside class="hero__card" aria-label="Receipt-first process">
+ <div class="card">
+ <div class="card__media">
+ <img src="../../assets/red-team-stamp-600.png" alt="EYES ONLY // DAVE stamp" loading="lazy" />
+ </div>
+ <div class="card__hdr">
+ <div class="badge badge--ok">PROCESS</div>
+ <div class="badge">HANDOFF‑SAFE</div>
+ </div>
+ <div class="card__body">
+ <ol class="steps">
+ <li class="step">
+ <div class="step__n">1</div>
+ <div class="step__b">
+ <div class="step__t">Hash the artifact</div>
+ <div class="step__d">Define the bytes and compute <code>sha256</code>.</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">2</div>
+ <div class="step__b">
+ <div class="step__t">Publish the receipt</div>
+ <div class="step__d">Trace page binds source ↔ output.</div>
+ </div>
+ </li>
+ <li class="step">
+ <div class="step__n">3</div>
+ <div class="step__b">
+ <div class="step__t">Export bundles</div>
+ <div class="step__d">Carry proof through constrained environments.</div>
+ </div>
+ </li>
+ </ol>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">When responsibility moves, the receipt shouldn’t.</div>
+ <div class="muted">
+ <a href="../">Verticals</a> · <a href="../../governance/">Governance</a> · <a href="../../api/">Developers</a> ·
+ <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a> <span class="bottombar__sep">·</span> Danny Stocker
+ </div>
+ </div>
+ </footer>
+
+ <div class="bottombar" aria-label="Quick links">
+ <div class="wrap bottombar__inner">
+ <div class="bottombar__left">
+ <span class="bottombar__label">Sectors</span>
+ <a href="../public-sector/">Public Sector</a>
+ <a href="../enterprise/">Enterprise</a>
+ <a href="../research/">Research</a>
+ <a href="../professional-services/">Professional</a>
+ <span class="bottombar__sep">·</span>
+ <span class="bottombar__label">Industries</span>
+ <a href="../healthcare/">Healthcare</a>
+ <a href="../finance/">Financial</a>
+ <a href="../legal/">Legal</a>
+ </div>
+ <div class="bottombar__right">
+ <a href="../../api/">Developers</a>
+ <span class="bottombar__sep">|</span>
+ <a href="../../api/">API</a>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
+```
+
+</details>
+
+## /whitepaper/
+- URL: https://infrafabric.io/whitepaper/
+- Static: https://infrafabric.io/static/hosted/ifttt/whitepaper/
+- Source: `ifttt/whitepaper/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — Whitepaper</title>
+ <meta
+ name="description"
+ content="Download the IF.TTT whitepaper and proof bundle. IF.TTT is a receipt-first governance layer: trace pages, stable no-login links, and optional offline bundles."
+ />
+ <link rel="stylesheet" href="../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../" aria-label="IF.TTT home">
+ <img class="brand__logo" src="../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">Whitepaper</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Primary">
+ <a href="../#how">How</a>
+ <a href="../#trust">Trust</a>
+ <a href="../#verify">Verify</a>
+ <a href="../verticals/">Verticals</a>
+ <a href="../governance/">Governance</a>
+ <a href="../api/">Developers</a>
+ <a href="../about/">About</a>
+ <a class="lang" href="../fr/" aria-label="French">FR</a>
+ </nav>
+ </div>
+ </header>
+
+ <main id="top">
+ <section class="hero">
+ <div class="wrap hero__grid">
+ <div class="hero__copy">
+ <p class="kicker">Long-form spec + receipts</p>
+ <h1>The IF.TTT whitepaper.</h1>
+ <p class="lede">
+ “Trustworthy” can’t be a vibe. This paper documents the receipt‑first sequence: <strong>hash the source</strong> → <strong>hash the output</strong> →
+ <strong>publish a trace</strong> → <strong>share no‑login receipts</strong> → <strong>optional offline bundles</strong>.
+ </p>
+
+ <div class="pillrow" role="list" aria-label="Included artifacts">
+ <div class="pill" role="listitem">
+ <span class="pill__k">Paper</span>
+ <span class="pill__v">HTML + Markdown</span>
+ </div>
+ <div class="pill" role="listitem">
+ <span class="pill__k">Receipts</span>
+ <span class="pill__v">Trace + hashes</span>
+ </div>
+ <div class="pill" role="listitem">
+ <span class="pill__k">Offline</span>
+ <span class="pill__v">Proof bundle + verifier</span>
+ </div>
+ </div>
+
+ <div class="cta">
+ <a
+ class="btn btn--primary"
+ href="https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html"
+ target="_blank"
+ rel="noreferrer"
+ >Read the paper now</a
+ >
+ <a class="btn" href="https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/" target="_blank" rel="noreferrer"
+ >Get the full pack</a
+ >
+ </div>
+
+ <p class="note">
+ If your environment blocks downloads (common for some web fetchers), use the HTML version. The receipts are still verifiable.
+ </p>
+ </div>
+
+ <aside class="hero__card" aria-label="Request the pack by email">
+ <div class="card">
+ <div class="card__media">
+ <img src="../assets/eyes-only-dave.png" alt="EYES ONLY // DAVE stamp" loading="lazy" />
+ </div>
+ <div class="card__hdr">
+ <div class="badge badge--ok">NO LOGIN</div>
+ <div class="badge">EMAIL (OPTIONAL)</div>
+ </div>
+ <div class="card__body">
+ <div class="mini">
+ <div class="mini__k">Want the pack in your inbox?</div>
+ <div class="mini__v">Drop an email. We’ll reply with the stable links (no “demo call” bait).</div>
+ </div>
+
+ <form class="form" method="POST" action="https://formsubmit.co/ds@infrafabric.io">
+ <input type="hidden" name="_subject" value="IF.TTT whitepaper request" />
+ <input type="hidden" name="_template" value="table" />
+ <input type="hidden" name="_next" value="https://infrafabric.io/whitepaper/thanks/" />
+ <input type="text" name="_honey" class="honeypot" tabindex="-1" autocomplete="off" />
+
+ <div class="field">
+ <label for="email">Email</label>
+ <input id="email" name="email" type="email" required placeholder="you@company.com" autocomplete="email" />
+ </div>
+
+ <div class="field-row">
+ <div class="field">
+ <label for="company">Company (optional)</label>
+ <input id="company" name="company" type="text" placeholder="Company" autocomplete="organization" />
+ </div>
+ <div class="field">
+ <label for="role">Role (optional)</label>
+ <input id="role" name="role" type="text" placeholder="GRC / SecOps / Legal / Product" />
+ </div>
+ </div>
+
+ <div class="field">
+ <label for="vertical">Vertical (optional)</label>
+ <select id="vertical" name="vertical">
+ <option value="">Select…</option>
+ <option>Finance</option>
+ <option>Healthcare</option>
+ <option>Government</option>
+ <option>SaaS</option>
+ <option>Legal</option>
+ <option>Sciences</option>
+ <option>Other</option>
+ </select>
+ </div>
+
+ <div class="field">
+ <label for="note">What are you trying to prove? (optional)</label>
+ <textarea id="note" name="note" rows="3" placeholder="e.g., we need third-party verifiable audit artifacts…"></textarea>
+ </div>
+
+ <button class="btn btn--primary" type="submit">Send links</button>
+ <p class="fine">We only use this to reply with the paper/receipts. No spam, no list rental.</p>
+ </form>
+ </div>
+ </div>
+ </aside>
+ </div>
+ </section>
+
+ <section class="section section--alt">
+ <div class="wrap">
+ <h2>Stable links (copy/paste)</h2>
+ <p class="sub">These are the boring, audit-safe entry points.</p>
+ <div class="links">
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Whitepaper (HTML)</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html</span>
+ </a>
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.md" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Whitepaper + review pack (Markdown)</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.md</span>
+ </a>
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.tar.gz" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Proof bundle (tar.gz)</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.tar.gz</span>
+ </a>
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/iftrace.py" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Offline verifier (iftrace.py)</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/iftrace.py</span>
+ </a>
+ </div>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">InfraFabric • IF.TTT is “proof without login”.</div>
+ <div class="muted">
+ <a href="../">IF.TTT</a> · <a href="../governance/">Governance</a> · <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a>
+ <span class="bottombar__sep">·</span> Danny Stocker
+ </div>
+ </div>
+ </footer>
+ </body>
+</html>
+```
+
+</details>
+
+## /whitepaper/thanks/
+- URL: https://infrafabric.io/whitepaper/thanks/
+- Static: https://infrafabric.io/static/hosted/ifttt/whitepaper/thanks/
+- Source: `ifttt/whitepaper/thanks/index.html`
+
+<details>
+<summary>HTML</summary>
+
+```html
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <title>IF.TTT — Whitepaper request</title>
+ <meta name="description" content="Thanks — here are the stable IF.TTT whitepaper links." />
+ <link rel="stylesheet" href="../../style.css" />
+ </head>
+
+ <body>
+ <header class="top">
+ <div class="wrap top__inner">
+ <a class="brand" href="../../" aria-label="IF.TTT home">
+ <img class="brand__logo" src="../../assets/if-logo-simple.svg" alt="" aria-hidden="true" />
+ <span class="brand__text">
+ <span class="brand__title">IF.TTT</span>
+ <span class="brand__sub">Whitepaper</span>
+ </span>
+ </a>
+
+ <nav class="nav" aria-label="Primary">
+ <a href="../../#verify">Verify</a>
+ <a href="../../governance/">Governance</a>
+ <a href="../../api/">Developers</a>
+ <a href="../../about/">About</a>
+ </nav>
+ </div>
+ </header>
+
+ <main>
+ <section class="section">
+ <div class="wrap">
+ <h1 style="margin-top: 0">Received.</h1>
+ <p class="sub">If you submitted the form, we’ll reply with the stable links. No pitch deck required.</p>
+
+ <div class="panel">
+ <h3>Immediate access (no email required)</h3>
+ <div class="links" style="margin-top: 10px">
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Read the paper (HTML)</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html</span>
+ </a>
+ <a class="linkrow" href="https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/" target="_blank" rel="noreferrer">
+ <span class="linkrow__t">Full review pack index</span>
+ <span class="linkrow__u">https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/</span>
+ </a>
+ </div>
+ <p class="fine">
+ Tip: Some sandboxes load <code>text/html</code> but reject downloads. Use the HTML links in that case.
+ </p>
+ </div>
+
+ <div class="cta" style="margin-top: 14px">
+ <a class="btn btn--primary" href="../../">Back to IF.TTT</a>
+ <a class="btn" href="../">Whitepaper page</a>
+ </div>
+ </div>
+ </section>
+ </main>
+
+ <footer class="footer">
+ <div class="wrap footer__inner">
+ <div class="muted">InfraFabric • IF.TTT is “proof without login”.</div>
+ <div class="muted">
+ <a href="../../">IF.TTT</a> · <a href="../../governance/">Governance</a> · <a href="mailto:ds@infrafabric.io">ds@infrafabric.io</a>
+ <span class="bottombar__sep">·</span> Danny Stocker
+ </div>
+ </div>
+ </footer>
+ </body>
+</html>
+```
+
+</details>
+
+---
+
+# Text Assets (Full)
+
+## `app.js`
+- Source: `ifttt/app.js`
+
+```js
+(() => {
+ const typewordEl = document.getElementById("typeword");
+ const stepperEl = document.getElementById("stepper");
+ const revealStepper = createStepperRevealer(stepperEl);
+ if (stepperEl) window.setTimeout(revealStepper, 5200);
+
+ if (typewordEl) startTypewriter(typewordEl, { onFirstCycleDone: revealStepper });
+
+ const quoteTextEl = document.getElementById("quoteText");
+ const quoteMetaEl = document.getElementById("quoteMeta");
+ const quoteWrapEl = quoteTextEl?.closest?.(".quote");
+ if (quoteTextEl && quoteMetaEl && quoteWrapEl) startQuoteTicker({ quoteWrapEl, quoteTextEl, quoteMetaEl });
+})();
+
+function createStepperRevealer(stepperEl) {
+ let shown = false;
+ return () => {
+ if (shown || !stepperEl) return;
+ shown = true;
+ stepperEl.hidden = false;
+ window.requestAnimationFrame(() => stepperEl.classList.add("homeStepper--show"));
+ };
+}
+
+function startTypewriter(typewordEl, opts = {}) {
+ const words = ["Transparent", "Traceable", "Trust", "TTT"];
+ const typeMs = 42;
+ const deleteMs = 26;
+ const holdMs = 780;
+ const finalHoldMs = 1100;
+ const betweenMs = 180;
+ const onFirstCycleDone = typeof opts.onFirstCycleDone === "function" ? opts.onFirstCycleDone : null;
+
+ let wordIndex = 0;
+ let charIndex = 0;
+ let isDeleting = false;
+ let cycleCount = 0;
+
+ const tick = () => {
+ const word = words[wordIndex] || "";
+ if (!isDeleting) {
+ charIndex = Math.min(word.length, charIndex + 1);
+ } else {
+ charIndex = Math.max(0, charIndex - 1);
+ }
+
+ typewordEl.textContent = word.slice(0, charIndex);
+
+ const atEnd = !isDeleting && charIndex === word.length;
+ const atStart = isDeleting && charIndex === 0;
+
+ if (atEnd) {
+ isDeleting = true;
+ const wait = wordIndex === words.length - 1 ? finalHoldMs : holdMs;
+ window.setTimeout(tick, wait);
+ return;
+ }
+
+ if (atStart) {
+ isDeleting = false;
+ wordIndex = (wordIndex + 1) % words.length;
+ if (wordIndex === 0) {
+ cycleCount += 1;
+ if (cycleCount === 1 && onFirstCycleDone) onFirstCycleDone();
+ }
+ window.setTimeout(tick, betweenMs);
+ return;
+ }
+
+ window.setTimeout(tick, isDeleting ? deleteMs : typeMs);
+ };
+
+ tick();
+}
+
+async function startQuoteTicker({ quoteWrapEl, quoteTextEl, quoteMetaEl }) {
+ const quotes = await loadQuotes();
+ if (!Array.isArray(quotes) || quotes.length === 0) return;
+
+ quoteWrapEl.classList.add("quote--show");
+
+ let idx = Math.floor(Math.random() * quotes.length);
+
+ const show = (q) => {
+ quoteWrapEl.classList.remove("quote--show");
+ quoteWrapEl.classList.add("quote--fade");
+
+ window.setTimeout(() => {
+ quoteTextEl.textContent = q.text || "";
+ renderQuoteMeta({ quoteMetaEl, q });
+
+ quoteWrapEl.classList.remove("quote--fade");
+ quoteWrapEl.classList.add("quote--show");
+ }, 220);
+ };
+
+ const loop = () => {
+ const q = quotes[idx] || {};
+ show(q);
+ idx = (idx + 1) % quotes.length;
+
+ const duration = estimateReadMs(q.text || "");
+ window.setTimeout(loop, duration);
+ };
+
+ loop();
+}
+
+async function loadQuotes() {
+ try {
+ const resp = await fetch(resolveIfTttUrl("assets/ifttt-quotes.json"), { cache: "no-store" });
+ if (resp.ok) {
+ const data = await resp.json();
+ if (Array.isArray(data)) return data;
+ }
+ } catch (e) {}
+
+ return [
+ {
+ text: "Footnotes aren't decorations. They're load-bearing walls.",
+ source: "IF.TTT paper",
+ href: "https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html",
+ },
+ {
+ text: "If there's no IF.TTT trace, it didn't happen—or shouldn't be trusted.",
+ source: "IF.TTT doctrine",
+ href: "https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html",
+ },
+ {
+ text: "Trust isn't claimed. It's proven.",
+ source: "IF.TTT paper",
+ href: "https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html",
+ },
+ ];
+}
+
+function resolveIfTttUrl(path) {
+ try {
+ const scriptEl = document.querySelector('script[src$="app.js"]');
+ const scriptUrl = scriptEl ? new URL(scriptEl.getAttribute("src"), window.location.href) : new URL(window.location.href);
+ return new URL(path, scriptUrl).toString();
+ } catch (e) {
+ return path;
+ }
+}
+
+function renderQuoteMeta({ quoteMetaEl, q }) {
+ while (quoteMetaEl.firstChild) quoteMetaEl.removeChild(quoteMetaEl.firstChild);
+
+ const source = String(q.source || "").trim();
+ const href = String(q.href || "").trim();
+ if (!source) return;
+
+ if (href) {
+ const a = document.createElement("a");
+ a.href = href;
+ a.target = "_blank";
+ a.rel = "noreferrer";
+ a.textContent = source;
+ quoteMetaEl.appendChild(a);
+ return;
+ }
+
+ quoteMetaEl.textContent = source;
+}
+
+function estimateReadMs(text) {
+ const cleaned = String(text || "").trim();
+ if (!cleaned) return 4000;
+
+ const words = cleaned.split(/\s+/).filter(Boolean).length;
+ const wpm = 220;
+ const ms = (words / wpm) * 60000 + 1200;
+ return clamp(ms, 3200, 11000);
+}
+
+function clamp(v, min, max) {
+ return Math.max(min, Math.min(max, v));
+}
+```
+
+## `style.css`
+- Source: `ifttt/style.css`
+
+```css
+:root {
+ --bg: #fffdf7;
+ --bg-alt: #fff9e6;
+ --panel: #ffffff;
+ --text: #111827;
+ --muted: #6b7280;
+ --border: #e5e7eb;
+ --link: #1d4ed8;
+ --accent: #8b0000;
+ --ok: #0f5132;
+ --ok-bg: #e7f6ee;
+ --shadow: 0 1px 0 rgba(0, 0, 0, 0.03);
+ --radius: 14px;
+}
+
+* {
+ box-sizing: border-box;
+}
+
+html {
+ scroll-behavior: smooth;
+}
+
+body {
+ margin: 0;
+ font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
+ background: var(--bg);
+ color: var(--text);
+ line-height: 1.5;
+ padding-bottom: 62px;
+}
+
+a {
+ color: var(--link);
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+code {
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ font-size: 0.92em;
+ background: #f3f4f6;
+ padding: 2px 6px;
+ border-radius: 8px;
+}
+
+pre.code {
+ background: #0b1020;
+ color: #e5e7eb;
+ border-radius: 12px;
+ padding: 12px;
+ overflow: auto;
+ box-shadow: var(--shadow);
+ border: 1px solid rgba(255, 255, 255, 0.06);
+}
+
+pre.code code {
+ background: transparent;
+ padding: 0;
+ border-radius: 0;
+ font-size: 12px;
+ line-height: 1.45;
+}
+
+.form {
+ display: grid;
+ gap: 12px;
+ margin-top: 12px;
+}
+
+.field label {
+ display: block;
+ font-size: 12px;
+ font-weight: 700;
+ color: var(--muted);
+ margin: 0 0 6px;
+}
+
+.field input,
+.field select,
+.field textarea {
+ width: 100%;
+ padding: 10px 12px;
+ border-radius: 12px;
+ border: 1px solid var(--border);
+ background: #ffffff;
+ font-size: 14px;
+ line-height: 1.2;
+}
+
+.field textarea {
+ resize: vertical;
+}
+
+.field input:focus,
+.field select:focus,
+.field textarea:focus {
+ outline: none;
+ border-color: rgba(29, 78, 216, 0.45);
+ box-shadow: 0 0 0 4px rgba(29, 78, 216, 0.12);
+}
+
+.field-row {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: 12px;
+}
+
+.honeypot {
+ display: none !important;
+}
+
+@media (max-width: 860px) {
+ .field-row {
+ grid-template-columns: 1fr;
+ }
+}
+
+
+.wrap {
+ max-width: 1120px;
+ margin: 0 auto;
+ padding: 0 18px;
+}
+
+.top {
+ position: sticky;
+ top: 0;
+ z-index: 20;
+ background: rgba(255, 253, 247, 0.92);
+ backdrop-filter: blur(10px);
+ border-bottom: 1px solid var(--border);
+}
+
+.top__inner {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 14px 0;
+ gap: 14px;
+}
+
+.brand {
+ display: inline-flex;
+ align-items: center;
+ gap: 12px;
+ min-width: 220px;
+}
+
+.brand__mark {
+ width: 38px;
+ height: 38px;
+ border-radius: 12px;
+ border: 1px solid rgba(139, 0, 0, 0.25);
+ background:
+ radial-gradient(18px 18px at 30% 30%, rgba(139, 0, 0, 0.18), transparent 60%),
+ radial-gradient(18px 18px at 70% 70%, rgba(29, 78, 216, 0.10), transparent 60%),
+ #fff;
+ box-shadow: var(--shadow);
+}
+
+.brand__logo {
+ width: 38px;
+ height: 38px;
+ display: block;
+ border-radius: 12px;
+ box-shadow: var(--shadow);
+}
+
+.brand__text {
+ display: flex;
+ flex-direction: column;
+ gap: 2px;
+}
+
+.brand__title {
+ font-weight: 800;
+ letter-spacing: 0.2px;
+}
+
+.brand__sub {
+ font-size: 12px;
+ color: var(--muted);
+}
+
+.nav {
+ display: flex;
+ gap: 14px;
+ flex-wrap: wrap;
+ justify-content: flex-end;
+ font-size: 13px;
+}
+
+.nav a {
+ color: var(--muted);
+ padding: 6px 8px;
+ border-radius: 10px;
+}
+
+.nav a:hover {
+ color: var(--text);
+ background: #ffffff;
+ border: 1px solid var(--border);
+ text-decoration: none;
+}
+
+.hero {
+ padding: 34px 0 22px;
+ background:
+ radial-gradient(650px 260px at 20% 0%, rgba(139, 0, 0, 0.08), transparent 60%),
+ radial-gradient(700px 300px at 100% 40%, rgba(29, 78, 216, 0.06), transparent 60%),
+ linear-gradient(#fffdf7, #fff);
+}
+
+.hero__grid {
+ display: grid;
+ grid-template-columns: 1.2fr 0.8fr;
+ gap: 22px;
+ align-items: start;
+}
+
+.kicker {
+ font-size: 13px;
+ color: var(--muted);
+ margin: 0 0 10px;
+}
+
+h1 {
+ font-size: 40px;
+ line-height: 1.1;
+ margin: 0 0 10px;
+ letter-spacing: -0.4px;
+}
+
+.type {
+ display: inline-flex;
+ align-items: center;
+ gap: 0;
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ font-size: 14px;
+ color: #374151;
+ margin: 0 0 10px;
+ user-select: none;
+}
+
+.type__prefix,
+.type__suffix {
+ color: #111827;
+ font-weight: 700;
+}
+
+.type__caret {
+ width: 8px;
+ height: 16px;
+ margin-left: 6px;
+ border-radius: 2px;
+ background: rgba(17, 24, 39, 0.65);
+ animation: caretblink 1s steps(1, end) infinite;
+}
+
+@keyframes caretblink {
+ 50% {
+ opacity: 0;
+ }
+}
+
+.quote {
+ margin: 0 0 12px;
+ padding: 10px 12px;
+ border: 1px solid var(--border);
+ border-radius: var(--radius);
+ background: #ffffff;
+ box-shadow: var(--shadow);
+ max-width: 72ch;
+}
+
+.quote__text {
+ font-size: 13px;
+ color: #111827;
+ font-weight: 650;
+}
+
+.quote__meta {
+ margin-top: 6px;
+ font-size: 12px;
+ color: var(--muted);
+}
+
+.quote__meta a {
+ color: var(--muted);
+ text-decoration: underline;
+ text-underline-offset: 2px;
+}
+
+.quote--fade {
+ opacity: 0;
+ transition: opacity 250ms ease;
+}
+
+.quote--show {
+ opacity: 1;
+}
+
+.lede {
+ margin: 0 0 14px;
+ color: #374151;
+ max-width: 62ch;
+}
+
+.pillrow {
+ display: grid;
+ grid-template-columns: repeat(3, minmax(0, 1fr));
+ gap: 10px;
+ margin: 18px 0 16px;
+}
+
+.pill {
+ border: 1px solid var(--border);
+ background: #ffffff;
+ border-radius: var(--radius);
+ padding: 10px 10px;
+ box-shadow: var(--shadow);
+}
+
+.pill__k {
+ font-size: 12px;
+ color: var(--muted);
+ display: block;
+}
+
+.pill__v {
+ font-size: 13px;
+ font-weight: 600;
+ margin-top: 2px;
+ display: block;
+}
+
+.cta {
+ display: flex;
+ gap: 10px;
+ flex-wrap: wrap;
+ margin: 14px 0 10px;
+}
+
+.btn {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ padding: 10px 12px;
+ border-radius: 12px;
+ border: 1px solid var(--border);
+ background: #ffffff;
+ color: var(--text);
+ font-weight: 650;
+ font-size: 13px;
+ box-shadow: var(--shadow);
+ text-decoration: none;
+}
+
+.btn:hover {
+ text-decoration: none;
+ border-color: rgba(17, 24, 39, 0.22);
+}
+
+.btn--primary {
+ background: #111827;
+ color: #ffffff;
+ border-color: rgba(0, 0, 0, 0.25);
+}
+
+.btn--primary:hover {
+ border-color: rgba(0, 0, 0, 0.45);
+}
+
+.note {
+ font-size: 12px;
+ color: var(--muted);
+ margin: 10px 0 0;
+}
+
+.card {
+ border: 1px solid var(--border);
+ background: #ffffff;
+ border-radius: 18px;
+ box-shadow: var(--shadow);
+ overflow: hidden;
+}
+
+.card__media {
+ border-bottom: 1px solid var(--border);
+ background: #111827;
+}
+
+.card__media img {
+ display: block;
+ width: 100%;
+ height: 162px;
+ object-fit: cover;
+ opacity: 0.95;
+}
+
+.card__hdr {
+ padding: 12px 12px;
+ border-bottom: 1px solid var(--border);
+ display: flex;
+ gap: 8px;
+ flex-wrap: wrap;
+ background: #f8fafc;
+}
+
+.badge {
+ display: inline-flex;
+ align-items: center;
+ padding: 4px 10px;
+ border-radius: 999px;
+ border: 1px solid var(--border);
+ font-size: 12px;
+ color: var(--muted);
+ background: #ffffff;
+ white-space: nowrap;
+}
+
+.badge--ok {
+ border-color: rgba(15, 81, 50, 0.25);
+ background: var(--ok-bg);
+ color: var(--ok);
+ font-weight: 700;
+}
+
+.card__body {
+ padding: 14px 12px 12px;
+}
+
+.kv {
+ display: grid;
+ grid-template-columns: 90px 1fr;
+ gap: 6px 10px;
+ font-size: 13px;
+}
+
+.kv__k {
+ color: var(--muted);
+}
+
+.kv__v code {
+ background: #f3f4f6;
+}
+
+.mini {
+ margin-top: 12px;
+ border-top: 1px dashed var(--border);
+ padding-top: 10px;
+ font-size: 13px;
+}
+
+.mini__k {
+ color: var(--muted);
+ font-weight: 600;
+ font-size: 12px;
+}
+
+.mini__v {
+ margin-top: 4px;
+ color: #374151;
+}
+
+.section {
+ padding: 34px 0;
+}
+
+.section--alt {
+ background: var(--bg-alt);
+ border-top: 1px solid rgba(0, 0, 0, 0.03);
+ border-bottom: 1px solid rgba(0, 0, 0, 0.03);
+}
+
+h2 {
+ margin: 0 0 8px;
+ font-size: 22px;
+ letter-spacing: -0.2px;
+}
+
+.sub {
+ margin: 0 0 18px;
+ color: var(--muted);
+ font-size: 14px;
+ max-width: 80ch;
+}
+
+.sub2 {
+ margin: 0 0 10px;
+ color: var(--muted);
+ font-size: 13px;
+}
+
+.steps {
+ display: grid;
+ gap: 10px;
+ padding: 0;
+ margin: 0;
+ list-style: none;
+}
+
+.step {
+ position: relative;
+ display: grid;
+ grid-template-columns: 44px 1fr;
+ gap: 12px;
+ padding: 14px 12px;
+ border: 1px solid var(--border);
+ border-radius: var(--radius);
+ background: #ffffff;
+ box-shadow: var(--shadow);
+}
+
+.step::after {
+ content: "";
+ position: absolute;
+ left: 30px;
+ top: 54px;
+ bottom: -10px;
+ width: 2px;
+ background: linear-gradient(to bottom, rgba(229, 231, 235, 0.95), rgba(229, 231, 235, 0));
+}
+
+.step:last-child::after {
+ display: none;
+}
+
+.step__n {
+ width: 36px;
+ height: 36px;
+ border-radius: 12px;
+ background: rgba(139, 0, 0, 0.06);
+ border: 1px solid rgba(139, 0, 0, 0.18);
+ display: grid;
+ place-items: center;
+ font-weight: 800;
+ color: var(--accent);
+}
+
+.step__t {
+ font-weight: 750;
+}
+
+.step__d {
+ color: #374151;
+ margin-top: 3px;
+ font-size: 13px;
+}
+
+.grid2 {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: 14px;
+}
+
+.panel {
+ background: #ffffff;
+ border: 1px solid var(--border);
+ border-radius: var(--radius);
+ padding: 14px 14px;
+ box-shadow: var(--shadow);
+}
+
+.panel h3 {
+ margin: 0 0 8px;
+ font-size: 15px;
+}
+
+.list {
+ margin: 10px 0 0;
+ padding-left: 18px;
+ color: #374151;
+ font-size: 13px;
+}
+
+.bw {
+ display: grid;
+ gap: 8px;
+ font-size: 13px;
+}
+
+.bw__row {
+ display: grid;
+ grid-template-columns: 130px 1fr;
+ gap: 10px;
+ padding: 10px 10px;
+ border: 1px solid var(--border);
+ border-radius: 12px;
+ background: #ffffff;
+}
+
+.bw__k {
+ color: var(--muted);
+ font-weight: 700;
+}
+
+.bw__v {
+ color: #374151;
+}
+
+.verify {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ gap: 14px;
+ align-items: start;
+}
+
+.links {
+ display: grid;
+ gap: 8px;
+ margin-top: 10px;
+}
+
+.linkrow {
+ display: grid;
+ gap: 4px;
+ border: 1px solid var(--border);
+ border-radius: 12px;
+ padding: 10px 10px;
+ background: #ffffff;
+ box-shadow: var(--shadow);
+}
+
+.linkrow:hover {
+ border-color: rgba(29, 78, 216, 0.35);
+ text-decoration: none;
+}
+
+.linkrow__t {
+ font-weight: 700;
+ font-size: 13px;
+ color: var(--text);
+}
+
+.linkrow__u {
+ font-size: 12px;
+ color: var(--muted);
+ overflow-wrap: anywhere;
+}
+
+.fine {
+ margin: 12px 0 0;
+ color: var(--muted);
+ font-size: 12px;
+}
+
+.cards {
+ display: grid;
+ grid-template-columns: repeat(3, minmax(0, 1fr));
+ gap: 12px;
+}
+
+.vcard {
+ background: #ffffff;
+ border: 1px solid var(--border);
+ border-radius: var(--radius);
+ padding: 14px 14px;
+ box-shadow: var(--shadow);
+}
+
+.vcard__icon {
+ width: 44px;
+ height: 44px;
+ border: 1px solid var(--border);
+ border-radius: 14px;
+ background: #f8fafc;
+ display: grid;
+ place-items: center;
+ margin-bottom: 10px;
+ color: var(--accent);
+}
+
+.vcard__icon svg {
+ width: 22px;
+ height: 22px;
+}
+
+.vcard h3 {
+ margin: 0 0 10px;
+ font-size: 15px;
+}
+
+.vcard__k {
+ margin: 0;
+ font-size: 12px;
+ color: var(--muted);
+ font-weight: 700;
+}
+
+.vcard__v {
+ margin: 4px 0 10px;
+ font-size: 13px;
+ color: #374151;
+}
+
+.vcard__more {
+ display: inline-flex;
+ align-items: center;
+ gap: 6px;
+ font-size: 12px;
+ color: var(--muted);
+ padding: 6px 10px;
+ border: 1px solid var(--border);
+ border-radius: 999px;
+ background: #ffffff;
+}
+
+.vcard__more:hover {
+ color: var(--text);
+ border-color: rgba(17, 24, 39, 0.22);
+ text-decoration: none;
+}
+
+.faq {
+ display: grid;
+ gap: 10px;
+}
+
+details {
+ background: #ffffff;
+ border: 1px solid var(--border);
+ border-radius: var(--radius);
+ padding: 12px 12px;
+ box-shadow: var(--shadow);
+}
+
+summary {
+ cursor: pointer;
+ font-weight: 750;
+ list-style: none;
+}
+
+summary::-webkit-details-marker {
+ display: none;
+}
+
+details p {
+ margin: 10px 0 0;
+ color: #374151;
+ font-size: 13px;
+}
+
+.foot {
+ margin-top: 18px;
+ border-top: 1px solid var(--border);
+ padding-top: 14px;
+ display: grid;
+ gap: 8px;
+}
+
+.foot__row {
+ display: grid;
+ grid-template-columns: 90px 1fr;
+ gap: 12px;
+ font-size: 13px;
+}
+
+.foot__k {
+ color: var(--muted);
+ font-weight: 700;
+}
+
+.footer {
+ border-top: 1px solid var(--border);
+ padding: 18px 0;
+ background: #ffffff;
+}
+
+.footer__inner {
+ display: flex;
+ justify-content: space-between;
+ gap: 12px;
+ flex-wrap: wrap;
+}
+
+.muted {
+ color: var(--muted);
+ font-size: 12px;
+}
+
+.bottombar {
+ position: fixed;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 25;
+ background: rgba(255, 253, 247, 0.92);
+ backdrop-filter: blur(10px);
+ border-top: 1px solid var(--border);
+}
+
+.bottombar__inner {
+ display: flex;
+ justify-content: space-between;
+ gap: 12px;
+ align-items: center;
+ padding: 10px 0;
+ font-size: 12px;
+}
+
+.bottombar__left,
+.bottombar__right {
+ display: flex;
+ gap: 6px;
+ align-items: center;
+ flex-wrap: wrap;
+}
+
+.bottombar__label {
+ font-size: 11px;
+ font-weight: 750;
+ letter-spacing: 0.08em;
+ text-transform: uppercase;
+ color: rgba(107, 114, 128, 0.85);
+ padding: 6px 6px;
+}
+
+.bottombar a {
+ color: var(--muted);
+ padding: 6px 8px;
+ border-radius: 10px;
+}
+
+.bottombar a:hover {
+ color: var(--text);
+ background: #ffffff;
+ border: 1px solid var(--border);
+ text-decoration: none;
+}
+
+.bottombar__sep {
+ color: rgba(107, 114, 128, 0.7);
+ margin: 0 2px;
+}
+
+@media (max-width: 980px) {
+ .hero__grid {
+ grid-template-columns: 1fr;
+ }
+ .pillrow {
+ grid-template-columns: 1fr;
+ }
+ .grid2 {
+ grid-template-columns: 1fr;
+ }
+ .verify {
+ grid-template-columns: 1fr;
+ }
+ .cards {
+ grid-template-columns: 1fr;
+ }
+ h1 {
+ font-size: 34px;
+ }
+
+ body {
+ padding-bottom: 74px;
+ }
+}
+
+/* Home (minimal landing; “OK Computer” empty-space bias) */
+body.home {
+ background:
+ radial-gradient(900px 420px at 15% 0%, rgba(29, 78, 216, 0.06), transparent 60%),
+ radial-gradient(900px 420px at 85% 15%, rgba(139, 0, 0, 0.06), transparent 60%),
+ linear-gradient(#fffdf7, #ffffff);
+}
+
+body.home .top {
+ position: fixed;
+ left: 0;
+ right: 0;
+ background: transparent;
+ border-bottom: none;
+ backdrop-filter: none;
+}
+
+body.home .top__inner {
+ padding: 18px 0;
+}
+
+.homeNav {
+ display: flex;
+ align-items: center;
+ gap: 12px;
+ flex-wrap: wrap;
+ justify-content: flex-end;
+ font-size: 12px;
+}
+
+.homeNav a {
+ color: var(--muted);
+ padding: 6px 8px;
+ border-radius: 10px;
+}
+
+.homeNav a:hover {
+ color: var(--text);
+ background: #ffffff;
+ border: 1px solid var(--border);
+ text-decoration: none;
+}
+
+.homeNav__sep {
+ color: rgba(107, 114, 128, 0.7);
+}
+
+.homeMain {
+ min-height: 100vh;
+ display: flex;
+ align-items: center;
+ padding: 120px 0 90px;
+}
+
+.homeMain__inner {
+ width: 100%;
+}
+
+.homeCenter {
+ text-align: center;
+ max-width: 920px;
+ margin: 0 auto;
+}
+
+.homeBadges {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ gap: 10px;
+ flex-wrap: wrap;
+ margin: 0 0 14px;
+}
+
+.badge--big {
+ font-size: 12px;
+ padding: 7px 12px;
+ border-radius: 999px;
+ letter-spacing: 0.08em;
+}
+
+.type--home {
+ font-size: clamp(44px, 7vw, 74px);
+ line-height: 1.05;
+ margin: 0 0 14px;
+ color: #111827;
+}
+
+.type--home .type__prefix,
+.type--home .type__suffix {
+ font-weight: 800;
+}
+
+.type--home .type__caret {
+ width: 0.18em;
+ height: 1.05em;
+ margin-left: 0.12em;
+ border-radius: 0.14em;
+ background: rgba(17, 24, 39, 0.65);
+}
+
+.quote--home {
+ margin: 0 auto 14px;
+}
+
+.quote--home .quote__text {
+ font-size: 14px;
+}
+
+.homeLede {
+ margin: 0 auto 0;
+ max-width: 78ch;
+ color: #374151;
+ font-size: 13px;
+}
+
+.homeStepper {
+ margin: 18px auto 0;
+ max-width: 920px;
+ text-align: left;
+ opacity: 0;
+ transform: translateY(6px);
+ transition:
+ opacity 420ms ease,
+ transform 420ms ease;
+}
+
+.homeStepper.homeStepper--show {
+ opacity: 1;
+ transform: translateY(0);
+}
+
+.homeLinks {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 10px;
+ margin: 14px 0 0;
+}
+
+.homeLink {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ padding: 9px 10px;
+ border-radius: 12px;
+ border: 1px solid var(--border);
+ background: #ffffff;
+ color: var(--text);
+ font-weight: 650;
+ font-size: 12px;
+ box-shadow: var(--shadow);
+ text-decoration: none;
+}
+
+.homeLink:hover {
+ text-decoration: none;
+ border-color: rgba(29, 78, 216, 0.35);
+ box-shadow:
+ var(--shadow),
+ 0 0 0 4px rgba(29, 78, 216, 0.10);
+}
+
+.homeMeta {
+ margin-top: 14px;
+ font-size: 12px;
+ color: var(--muted);
+}
+
+@media (max-width: 980px) {
+ body.home .top {
+ position: sticky;
+ background: rgba(255, 253, 247, 0.92);
+ border-bottom: 1px solid var(--border);
+ backdrop-filter: blur(10px);
+ }
+
+ .homeMain {
+ padding-top: 86px;
+ }
+
+ .type--home {
+ font-size: clamp(38px, 10vw, 54px);
+ }
+}
+```
+
+## `assets/if-logo-simple.svg`
+- Source: `ifttt/assets/if-logo-simple.svg`
+
+```svg
+<?xml version="1.0" encoding="UTF-8"?>
+<svg
+ xmlns="http://www.w3.org/2000/svg"
+ width="1024"
+ height="1024"
+ viewBox="0 0 512 512"
+ role="img"
+ aria-labelledby="title desc"
+>
+ <title id="title">if. mark</title>
+ <desc id="desc">Stylized “if.” mark with subtle gradient and shadow.</desc>
+
+ <defs>
+ <linearGradient id="ifBlue" x1="70" y1="0" x2="440" y2="0" gradientUnits="userSpaceOnUse">
+ <stop offset="0" stop-color="#0b253b" />
+ <stop offset="0.44" stop-color="#164d7a" />
+ <stop offset="0.56" stop-color="#1b5a8e" />
+ <stop offset="1" stop-color="#0b253b" />
+ </linearGradient>
+
+ <filter id="ifShadow" x="-40%" y="-40%" width="180%" height="180%">
+ <feOffset in="SourceAlpha" dx="0" dy="14" result="off" />
+ <feGaussianBlur in="off" stdDeviation="12" result="blur" />
+ <feColorMatrix
+ in="blur"
+ type="matrix"
+ values="0 0 0 0 0
+ 0 0 0 0 0
+ 0 0 0 0 0
+ 0 0 0 0.28 0"
+ result="shadow"
+ />
+ <feMerge>
+ <feMergeNode in="shadow" />
+ <feMergeNode in="SourceGraphic" />
+ </feMerge>
+ </filter>
+ </defs>
+
+ <!--
+ Mark group:
+ - i (stem + dot)
+ - f (stem + top bar + crossbar)
+ - period dot
+ -->
+ <g filter="url(#ifShadow)" transform="translate(75 15)" fill="url(#ifBlue)">
+ <!-- i -->
+ <circle cx="35" cy="125" r="32" />
+ <rect x="0" y="170" width="70" height="220" rx="8" />
+
+ <!-- f -->
+ <rect x="120" y="140" width="86" height="250" rx="10" />
+ <rect x="120" y="110" width="150" height="90" rx="45" />
+ <rect x="120" y="240" width="140" height="80" rx="28" />
+
+ <!-- . -->
+ <circle cx="330" cy="358" r="32" />
+ </g>
+</svg>
+```
+
+## `assets/ifttt-quotes.json`
+- Source: `ifttt/assets/ifttt-quotes.json`
+
+```json
+[
+ {
+ "text": "Footnotes aren't decorations. They're load-bearing walls.",
+ "source": "IF.TTT paper (v2.3)",
+ "href": "https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html"
+ },
+ {
+ "text": "If there's no IF.TTT trace, it didn't happen—or shouldn't be trusted.",
+ "source": "IF.TTT doctrine",
+ "href": "https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html"
+ },
+ {
+ "text": "No trace, no trust. Simple as that.",
+ "source": "IF.TTT doctrine",
+ "href": "https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html"
+ },
+ {
+ "text": "Trust isn't claimed. It's proven.",
+ "source": "IF.TTT paper (v2.3)",
+ "href": "https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html"
+ },
+ {
+ "text": "We don’t claim trust. We publish receipts.",
+ "source": "IF.TTT stance",
+ "href": "https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html"
+ },
+ {
+ "text": "Your auditor shouldn’t need your credentials.",
+ "source": "IF.TTT public receipts",
+ "href": "https://infrafabric.io/static/hosted/ifttt/"
+ },
+ {
+ "text": "Third parties verify. We just publish the math.",
+ "source": "IF.TTT posture",
+ "href": "https://infrafabric.io/static/hosted/ifttt/"
+ },
+ {
+ "text": "Receipts must be readable and verifiable without credentials.",
+ "source": "IF.TTT public receipt surface",
+ "href": "https://infrafabric.io/static/hosted/ifttt/"
+ },
+ {
+ "text": "Design constraint: black/white clarity. No “maybe”.",
+ "source": "IF.TTT ops (full stack)",
+ "href": "https://infrafabric.io/static/hosted/ifttt/api/"
+ },
+ {
+ "text": "We do not claim “quantum-secure”. We claim “quantum-ready”.",
+ "source": "IF.TTT tech stack",
+ "href": "https://infrafabric.io/static/hosted/ifttt/api/"
+ },
+ {
+ "text": "The stenographer doesn't make the therapy cold. The stenographer makes it accountable.",
+ "source": "IF.emotion on IF.TTT",
+ "href": "https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html"
+ },
+ {
+ "text": "That's the moat.",
+ "source": "IF.TTT paper (v2.3)",
+ "href": "https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html"
+ },
+ {
+ "text": "The moat is not the AI. The moat is the proof.",
+ "source": "IF.TTT paper (v2.3)",
+ "href": "https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html"
+ },
+ {
+ "text": "If it’s not verifiable, label it as a gap. Do not endorse it.",
+ "source": "IF.TTT stance",
+ "href": "https://infrafabric.io/static/hosted/ifttt/"
+ }
+]
+```
+
+ Why this exists
++ Most systems produce answers and call that “governance”. IF.TTT starts earlier: it produces receipts that a third party can verify without + joining your internal world. +
+ +source_sha256 ↔ output_sha256 under a trace receipt.Public receipt surface (no login)
++ IF.TTT is intentionally boring from a developer perspective: compute hashes, publish receipts, and keep the proof surface stable. The + system is designed for third parties who are not inside your network. +
++ Some external review environments can load HTML but reject downloadable binaries or raw markdown. For those, we publish HTML views alongside + the raw assets. +
+/static/pack/<shareId>.md
+/static/review/<shareId>.md
+/static/marketing/<shareId>.md
+ /static/pack/<shareId>
+/static/review/<shareId>
+/static/marketing/<shareId>
+ Download a bundle (lightweight/standard/full) and verify without relying on the live site.
+
+ Note: some “web fetchers” reject .tar.gz with a client-side error even when browsers/curl succeed. Use the HTML views and
+ download bundles locally.
+
curl -fsSL -o iftrace.py 'https://infrafabric.io/static/hosted/iftrace.py'
+python3 iftrace.py verify trace_bundle_<id>_standard.tar.gz --expected-sha256 <sha256>
+ If hashes match, the receipt’s integrity claim is satisfied.
+Gouvernance ouverte
++ Une “gouvernance” qui ne se lit qu’en interne n’est pas une preuve. IF.TTT publie des reçus stables, accessibles sans login, pour que des + tiers puissent vérifier l’intégrité sans entrer dans votre réseau. +
+ +Lisible pour des tiers : le but n’est pas le confort interne, mais la vérifiabilité externe.
+ +Gouvernance ouverte, lisible par des tiers
++ IF.TTT est une couche de gouvernance “receipt‑first”. Elle relie un artefact source à un output via une + page de trace, des liens publics sans login, et des bundles hors‑ligne vérifiables. +
+ ++ Nous ne “vendons” pas la conformité. Nous aidons les audits en produisant des reçus vérifiables que des tiers peuvent contrôler + sans vos identifiants. +
+Open governance
++ “Governance” fails when it’s only legible inside your network. IF.TTT moves the proof outside: stable, no‑login receipts that third parties + can verify without joining your internal world. +
+ +Receipts don’t replace governance. They remove ambiguity from it.
+A constitutional framing: the goal is legibility to outsiders, not internal comfort.
+ +These are plain Markdown docs: readable, linkable, and easy to critique.
+A real trace receipt you can verify right now.
+ ++ “VERIFIED” means the published bytes hash to what the receipt says. “QUANTUM READY” means a post‑quantum signature receipt exists (additive; + integrity hashes still stand). +
++ Open verification for governance: third parties can verify receipts without your credentials. + Artifacts > adjectives. +
+ +Black/white: what the receipt proves vs what it doesn’t.
+ +shareId (trace, dossier, pack, source).+ If it’s not verifiable, label it as a gap. Don’t endorse it. + This is how you keep governance legible to outsiders. +
+AI product reality
++ Enterprise buyers increasingly require provenance: what source material fed the output, what version produced it, and what can be + verified after the fact. IF.TTT turns that requirement into a repeatable receipt surface. +
+ +Enterprise reality
++ Enterprise trust breaks when proof requires access: screenshots, ticket exports, and “trust me” Slack threads. IF.TTT replaces access + requirements with receipts—so verification is externalizable. +
+ +source_sha256 ↔ output_sha256.For stakeholder alignment without overclaiming.
++ IF.TTT supports audits by producing externally verifiable receipts—so reviewers don’t need your internal credentials to verify integrity. +
+Finance reality
++ In regulated finance, the first question after an incident is not “what did the model mean?” It’s “show me the evidence chain: inputs, + outputs, timestamps, and who approved what.” +
+ +source_sha256 ↔ output_sha256.This is the point: reviewers shouldn’t need your VPN.
+Trace receipt: https://infrafabric.io/static/trace/<shareId>
+Output (rendered): https://infrafabric.io/static/dossier/<shareId>
+Output (raw): https://infrafabric.io/static/dossier/<shareId>/download
+Offline bundles: https://infrafabric.io/static/hosted/review/trace-bundles/<id>/index.html
+ Government reality
++ In restricted environments, the “can you verify it?” question must be answered without assuming network access, SaaS consoles, or vendor + portals. IF.TTT treats offline verification as a first‑class requirement. +
+ +No accounts required. No internal consoles required.
+Trace receipt: https://infrafabric.io/static/trace/<shareId>
+Bundle selector: https://infrafabric.io/static/hosted/review/trace-bundles/<id>/index.html
+Verifier: https://infrafabric.io/static/hosted/iftrace.py
+ Healthcare reality
++ Healthcare environments punish ambiguity. IF.TTT makes “what we can prove” explicit, and forces everything else to be labeled as + interpretation or review-required. +
+ +Same mechanism, different pressure
++ IF.TTT doesn’t “solve compliance.” It solves the universal problem underneath compliance: third parties demanding proof without joining your + internal world. The receipts stay the same; the incentives and failure modes change. +
+ +Who the buyer is. The same receipts, different pressure.
+ +Procurement cycles, oversight, offline verification.
+ Public Sector → +Audits as throughput; evidence without credential sprawl.
+ Enterprise → +Provenance, reproducibility, and external reviewers.
+ Research → +Client handoffs, disputes, and custody that holds up later.
+ Professional Services → +What domain the risk lives in: regulation, data, and dispute pressure.
+ +Audit trails, privacy boundaries, dispute‑ready artifacts.
+ Healthcare → +Model risk, non‑repudiation, evidence for regulators.
+ Financial → +Chain‑of‑custody for drafts, evidence, and decisions.
+ Legal → +Common governance failure modes that appear across sectors and industries.
+ +Auditors, procurement, “prove it existed at the time.”
+ B2B SaaS → +Bind summaries to evidence; keep custody intact.
+ SecOps → +Provable provenance for outputs: “why did it say that?”
+ AI products → +Traceability that survives vendor and contractor handoffs.
+ Supply chain → +Legal reality
++ Legal and compliance teams live in the difference between “we believe this happened” and “we can prove this happened.” IF.TTT is built to + make that proof portable. +
+ +You can hand these to an external reviewer without shipping your internal systems.
+Trace receipt: https://infrafabric.io/static/trace/<shareId>
+Output (raw): https://infrafabric.io/static/dossier/<shareId>/download
+Review pack: https://infrafabric.io/static/review/<shareId>
+Offline bundles: https://infrafabric.io/static/hosted/review/trace-bundles/<id>/index.html
+ Services reality
++ In professional services, the artifact you hand over becomes evidence: audits, disputes, expert reports, procurement packs. IF.TTT makes + the handoff verifiable without making you a credential broker. +
+ +Don’t turn verification into credential distribution.
+“Log in to our system and we’ll show you.”
+“Here is the artifact, here is the receipt, verify without us.”
+Public sector reality
++ Public accountability is a third‑party problem: reviewers need proof without getting access to your internal systems. IF.TTT turns “trust + us” into receipts that a stranger can verify. +
+ +No accounts required. No internal consoles required.
+Trace receipt: https://infrafabric.io/static/trace/<shareId>
+Pack (HTML): https://infrafabric.io/static/pack/<shareId>
+Bundle selector: https://infrafabric.io/static/hosted/review/trace-bundles/<id>/index.html
+ Research reality
++ Research already understands receipts: methods, datasets, citations. IF.TTT applies the same discipline to AI outputs and operational + decisions: publish what can be verified, label what can’t, and keep the bytes stable. +
+ +So reviewers can validate without trusting your infrastructure.
+Trace receipt: https://infrafabric.io/static/trace/<shareId>
+Pack (raw): https://infrafabric.io/static/pack/<shareId>.md
+Pack (HTML): https://infrafabric.io/static/pack/<shareId>
+Offline bundles: https://infrafabric.io/static/hosted/review/trace-bundles/<id>/index.html
+ SaaS reality
++ In B2B SaaS, the friction isn’t the control design. It’s proving the control existed at the right time, in the right scope, without + granting auditors full internal access. +
+ +shareId.The purpose is to make evidence portable and boring.
+Trace receipt: https://infrafabric.io/static/trace/<shareId>
+Output (raw): https://infrafabric.io/static/dossier/<shareId>/download
+Pack (HTML): https://infrafabric.io/static/pack/<shareId>
+ Research reality
++ Scientific workflows already understand receipts: methods, datasets, and citations. IF.TTT is the same idea applied to AI outputs and + operational decisions: publish what can be verified, and mark what can’t. +
+ +So reviewers can validate without trusting your infrastructure.
+Trace receipt: https://infrafabric.io/static/trace/<shareId>
+Pack (raw): https://infrafabric.io/static/pack/<shareId>.md
+Pack (HTML): https://infrafabric.io/static/pack/<shareId>
+Offline bundles: https://infrafabric.io/static/hosted/review/trace-bundles/<id>/index.html
+ SecOps reality
++ AI summaries can help, but only if they remain verifiable against raw telemetry. IF.TTT makes the custody chain explicit: source bytes, + output bytes, and a receipt that can be validated by third parties. +
+ +source_sha256 ↔ output_sha256.Do not treat “AI summary” as evidence.
+“The AI said this was resolved.”
+“Here is the output, here is the evidence artifact, here is the receipt binding them.”
+Supply chain reality
++ Industrial systems accumulate contractors, vendors, and integrators. IF.TTT standardizes a receipt surface so chain‑of‑custody doesn’t + collapse the moment responsibility moves. +
+ +shareId.Long-form spec + receipts
++ “Trustworthy” can’t be a vibe. This paper documents the receipt‑first sequence: hash the source → hash the output → + publish a trace → share no‑login receipts → optional offline bundles. +
+ ++ If your environment blocks downloads (common for some web fetchers), use the HTML version. The receipts are still verifiable. +
+These are the boring, audit-safe entry points.
+If you submitted the form, we’ll reply with the stable links. No pitch deck required.
+ +
+ Tip: Some sandboxes load text/html but reject downloads. Use the HTML links in that case.
+