ifttt: add whitepaper page + optional email capture

This commit is contained in:
root 2025-12-29 03:43:41 +00:00
parent 78ea33c7f6
commit 7b0d99c4de
19 changed files with 326 additions and 6 deletions

View file

@ -28,6 +28,7 @@
<a href="../#verify">Verify</a> <a href="../#verify">Verify</a>
<a href="../governance/">Governance</a> <a href="../governance/">Governance</a>
<a href="../verticals/">Verticals</a> <a href="../verticals/">Verticals</a>
<a href="../whitepaper/">Whitepaper</a>
<a href="../api/">Developers</a> <a href="../api/">Developers</a>
<a class="lang" href="../fr/" aria-label="French">FR</a> <a class="lang" href="../fr/" aria-label="French">FR</a>
</nav> </nav>

View file

@ -26,10 +26,8 @@
<a href="../#verify">Verify</a> <a href="../#verify">Verify</a>
<a href="../verticals/">Verticals</a> <a href="../verticals/">Verticals</a>
<a href="../governance/">Governance</a> <a href="../governance/">Governance</a>
<a href="../whitepaper/">Whitepaper</a>
<a href="../about/">About</a> <a href="../about/">About</a>
<a href="https://infrafabric.io/static/hosted/review/ifttt-paper-update/2025-12-28/review-pack.html" target="_blank" rel="noreferrer"
>Paper</a
>
<a class="lang" href="../fr/" aria-label="French">FR</a> <a class="lang" href="../fr/" aria-label="French">FR</a>
</nav> </nav>
</div> </div>

View file

@ -27,6 +27,7 @@
<a href="../../#trust">Confiance</a> <a href="../../#trust">Confiance</a>
<a href="../../#verify">Vérifier</a> <a href="../../#verify">Vérifier</a>
<a href="../../verticals/">Verticaux</a> <a href="../../verticals/">Verticaux</a>
<a href="../../whitepaper/">Livre blanc</a>
<a href="../../api/">Développeurs</a> <a href="../../api/">Développeurs</a>
<a href="../../about/">À propos</a> <a href="../../about/">À propos</a>
<a class="lang" href="../../governance/" aria-label="English">EN</a> <a class="lang" href="../../governance/" aria-label="English">EN</a>
@ -110,4 +111,3 @@
</footer> </footer>
</body> </body>
</html> </html>

View file

@ -38,6 +38,8 @@
<a href="../#trust">Confiance</a> <a href="../#trust">Confiance</a>
<a href="../#verify">Vérifier</a> <a href="../#verify">Vérifier</a>
<a href="../verticals/">Verticaux</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="../api/">Développeurs</a>
<a href="../about/">À propos</a> <a href="../about/">À propos</a>
<a class="lang" href="../" aria-label="English">EN</a> <a class="lang" href="../" aria-label="English">EN</a>
@ -139,4 +141,3 @@
</div> </div>
</body> </body>
</html> </html>

View file

@ -27,6 +27,7 @@
<a href="../#trust">Trust</a> <a href="../#trust">Trust</a>
<a href="../#verify">Verify</a> <a href="../#verify">Verify</a>
<a href="../verticals/">Verticals</a> <a href="../verticals/">Verticals</a>
<a href="../whitepaper/">Whitepaper</a>
<a href="../api/">Developers</a> <a href="../api/">Developers</a>
<a href="../about/">About</a> <a href="../about/">About</a>
<a class="lang" href="../fr/governance/" aria-label="French">FR</a> <a class="lang" href="../fr/governance/" aria-label="French">FR</a>
@ -176,4 +177,3 @@
</div> </div>
</body> </body>
</html> </html>

View file

@ -39,6 +39,7 @@
<a href="#verify">Verify</a> <a href="#verify">Verify</a>
<a href="#verticals">Verticals</a> <a href="#verticals">Verticals</a>
<a href="./governance/">Governance</a> <a href="./governance/">Governance</a>
<a href="./whitepaper/">Whitepaper</a>
<a href="#faq">FAQ</a> <a href="#faq">FAQ</a>
<a href="./api/">Developers</a> <a href="./api/">Developers</a>
<a href="./about/">About</a> <a href="./about/">About</a>

View file

@ -65,6 +65,61 @@ pre.code code {
line-height: 1.45; 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 { .wrap {
max-width: 1120px; max-width: 1120px;
margin: 0 auto; margin: 0 auto;

View file

@ -24,6 +24,7 @@
<a href="../../#how">How</a> <a href="../../#how">How</a>
<a href="../../#verify">Verify</a> <a href="../../#verify">Verify</a>
<a href="../../governance/">Governance</a> <a href="../../governance/">Governance</a>
<a href="../../whitepaper/">Whitepaper</a>
<a href="../../about/">About</a> <a href="../../about/">About</a>
<a href="../../api/">Developers</a> <a href="../../api/">Developers</a>
</nav> </nav>

View file

@ -24,6 +24,7 @@
<a href="../../#trust">Trust</a> <a href="../../#trust">Trust</a>
<a href="../../#verify">Verify</a> <a href="../../#verify">Verify</a>
<a href="../../governance/">Governance</a> <a href="../../governance/">Governance</a>
<a href="../../whitepaper/">Whitepaper</a>
<a href="../../about/">About</a> <a href="../../about/">About</a>
<a href="../../api/">Developers</a> <a href="../../api/">Developers</a>
</nav> </nav>

View file

@ -27,6 +27,7 @@
<a href="../../#trust">Trust</a> <a href="../../#trust">Trust</a>
<a href="../../#verify">Verify</a> <a href="../../#verify">Verify</a>
<a href="../../governance/">Governance</a> <a href="../../governance/">Governance</a>
<a href="../../whitepaper/">Whitepaper</a>
<a href="../../about/">About</a> <a href="../../about/">About</a>
<a href="../../api/">Developers</a> <a href="../../api/">Developers</a>
</nav> </nav>

View file

@ -27,6 +27,7 @@
<a href="../../#trust">Trust</a> <a href="../../#trust">Trust</a>
<a href="../../#verify">Verify</a> <a href="../../#verify">Verify</a>
<a href="../../governance/">Governance</a> <a href="../../governance/">Governance</a>
<a href="../../whitepaper/">Whitepaper</a>
<a href="../../about/">About</a> <a href="../../about/">About</a>
<a href="../../api/">Developers</a> <a href="../../api/">Developers</a>
</nav> </nav>

View file

@ -24,6 +24,7 @@
<a href="../#trust">Trust</a> <a href="../#trust">Trust</a>
<a href="../#verify">Verify</a> <a href="../#verify">Verify</a>
<a href="../governance/">Governance</a> <a href="../governance/">Governance</a>
<a href="../whitepaper/">Whitepaper</a>
<a href="../about/">About</a> <a href="../about/">About</a>
<a href="../api/">Developers</a> <a href="../api/">Developers</a>
<a class="lang" href="../fr/" aria-label="French">FR</a> <a class="lang" href="../fr/" aria-label="French">FR</a>

View file

@ -24,6 +24,7 @@
<a href="../../#trust">Trust</a> <a href="../../#trust">Trust</a>
<a href="../../#verify">Verify</a> <a href="../../#verify">Verify</a>
<a href="../../governance/">Governance</a> <a href="../../governance/">Governance</a>
<a href="../../whitepaper/">Whitepaper</a>
<a href="../../about/">About</a> <a href="../../about/">About</a>
<a href="../../api/">Developers</a> <a href="../../api/">Developers</a>
</nav> </nav>

View file

@ -24,6 +24,7 @@
<a href="../../#trust">Trust</a> <a href="../../#trust">Trust</a>
<a href="../../#verify">Verify</a> <a href="../../#verify">Verify</a>
<a href="../../governance/">Governance</a> <a href="../../governance/">Governance</a>
<a href="../../whitepaper/">Whitepaper</a>
<a href="../../about/">About</a> <a href="../../about/">About</a>
<a href="../../api/">Developers</a> <a href="../../api/">Developers</a>
</nav> </nav>

View file

@ -24,6 +24,7 @@
<a href="../../#how">How</a> <a href="../../#how">How</a>
<a href="../../#verify">Verify</a> <a href="../../#verify">Verify</a>
<a href="../../governance/">Governance</a> <a href="../../governance/">Governance</a>
<a href="../../whitepaper/">Whitepaper</a>
<a href="../../about/">About</a> <a href="../../about/">About</a>
<a href="../../api/">Developers</a> <a href="../../api/">Developers</a>
</nav> </nav>

View file

@ -24,6 +24,7 @@
<a href="../../#trust">Trust</a> <a href="../../#trust">Trust</a>
<a href="../../#verify">Verify</a> <a href="../../#verify">Verify</a>
<a href="../../governance/">Governance</a> <a href="../../governance/">Governance</a>
<a href="../../whitepaper/">Whitepaper</a>
<a href="../../about/">About</a> <a href="../../about/">About</a>
<a href="../../api/">Developers</a> <a href="../../api/">Developers</a>
</nav> </nav>

View file

@ -27,6 +27,7 @@
<a href="../../#trust">Trust</a> <a href="../../#trust">Trust</a>
<a href="../../#verify">Verify</a> <a href="../../#verify">Verify</a>
<a href="../../governance/">Governance</a> <a href="../../governance/">Governance</a>
<a href="../../whitepaper/">Whitepaper</a>
<a href="../../about/">About</a> <a href="../../about/">About</a>
<a href="../../api/">Developers</a> <a href="../../api/">Developers</a>
</nav> </nav>

181
ifttt/whitepaper/index.html Normal file
View file

@ -0,0 +1,181 @@
<!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” cant be a vibe. This paper documents the receiptfirst sequence: <strong>hash the source</strong><strong>hash the output</strong>
<strong>publish a trace</strong><strong>share nologin 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__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. Well 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>

View file

@ -0,0 +1,73 @@
<!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, well 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>