hosted/ifttt/api/index.html
2025-12-30 05:54:49 +00:00

155 lines
7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>IF.Trace — Developers / API</title>
<meta
name="description"
content="Developer-facing overview of the IF.Trace public receipt surface: stable no-login URLs, HTML fallbacks for sandboxes, and offline verification bundles."
/>
<link rel="stylesheet" href="../style.css" />
</head>
<body class="home home--sig">
<header class="sigNav" aria-label="Top navigation">
<div class="wrap sigNav__inner">
<a class="sigBrand" href="../" aria-label="IF.Trace home">IF.Trace</a>
<nav class="sigLinks" aria-label="Site">
<a href="../verticals/">Sector</a>
<span class="sigLinks__sep" aria-hidden="true">|</span>
<a href="../pricing/">Pricing</a>
<span class="sigLinks__sep" aria-hidden="true">|</span>
<a href="./" aria-current="page">API</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.Trace 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 postquantum 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">NOLOGIN</div>
</div>
<div class="card__body">
<pre class="code"><code>https://infrafabric.io/static/trace/&lt;shareId&gt;
https://infrafabric.io/static/dossier/&lt;shareId&gt;
https://infrafabric.io/static/dossier/&lt;shareId&gt;/download
https://infrafabric.io/static/pack/&lt;shareId&gt;.md
https://infrafabric.io/static/review/&lt;shareId&gt;.md
https://infrafabric.io/static/marketing/&lt;shareId&gt;.md
https://infrafabric.io/static/source/&lt;source_sha256&gt;.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/&lt;shareId&gt;.md
/static/review/&lt;shareId&gt;.md
/static/marketing/&lt;shareId&gt;.md</code></pre>
</div>
<div class="panel">
<h3>HTML view</h3>
<pre class="code"><code>/static/pack/&lt;shareId&gt;
/static/review/&lt;shareId&gt;
/static/marketing/&lt;shareId&gt;</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_&lt;id&gt;_standard.tar.gz --expected-sha256 &lt;sha256&gt;</code></pre>
<p class="fine">If hashes match, the receipts 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.Trace 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>
<a class="sigContact" href="mailto:ds@infrafabric.io?subject=IF.Trace%20contact">contact</a>
</body>
</html>