hosted/ifttt/index.html

3 lines
No EOL
18 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" class="dark"> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="theme-color" content="#0b1020"><link rel="canonical" href="http://localhost:4321/"><title>IF.Trace</title><meta name="description" content="Proof that third parties can check without logins—without exposing your source."><meta property="og:title" content="IF.Trace"><meta property="og:description" content="Proof that third parties can check without logins—without exposing your source."><meta property="og:type" content="website"><meta property="og:image" content="/assets/iftrace-og.svg"><meta name="twitter:card" content="summary_large_image"><link rel="icon" href="/assets/if-logo-simple.svg" type="image/svg+xml"><link rel="stylesheet" href="/assets/_astro/index.Dr9NnB1c.css"></head> <body class="min-h-screen bg-background text-foreground"> <div aria-hidden="true" class="pointer-events-none fixed inset-0 -z-10"> <div class="absolute inset-0 bg-[radial-gradient(900px_circle_at_20%_0%,rgba(59,130,246,0.10),transparent_60%),radial-gradient(900px_circle_at_100%_0%,rgba(16,185,129,0.08),transparent_55%)]"></div> <div class="absolute inset-0 bg-[linear-gradient(to_bottom,rgba(2,6,23,0.86),rgba(2,6,23,0.96))]"></div> <div class="absolute inset-0 opacity-[0.035] mix-blend-overlay [background-image:url('data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22300%22%20height=%22300%22%3E%3Cfilter%20id=%22n%22%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.8%22%20numOctaves=%224%22%20stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Crect%20width=%22300%22%20height=%22300%22%20filter=%22url(%23n)%22%20opacity=%220.5%22/%3E%3C/svg%3E')]"></div> </div> <header class="fixed left-0 right-0 top-0 z-50"> <div class="mx-auto max-w-6xl px-4 py-4 sm:px-6"> <div class="flex items-center justify-between rounded-2xl border border-white/10 bg-slate-950/35 px-4 py-3 backdrop-blur-sm shadow-[0_10px_30px_rgba(0,0,0,0.25)] sm:px-6"> <a href="/" class="text-sm font-semibold tracking-tight text-white/90 hover:text-white">IF.Trace</a> <nav class="flex items-center gap-3 text-xs text-white/70 sm:gap-4"> <a class="hover:text-white" href="/verticals/">Use cases</a> <span class="text-white/20" aria-hidden="true">|</span> <a class="hover:text-white" href="/pricing/">Pricing</a> <span class="text-white/20" aria-hidden="true">|</span> <a class="hover:text-white" href="/api/">API</a> <span class="text-white/20" aria-hidden="true">|</span> <a class="hover:text-white" href="/whitepaper/">Whitepaper</a> </nav> <a class="hidden rounded-full border border-white/10 bg-white/5 px-3 py-1 text-xs font-medium text-white/80 hover:bg-white/10 hover:text-white sm:inline-flex" href="https://api.infrafabric.io/login">Login</a> </div> </div> </header> <main class="pt-28 sm:pt-32"> <div class="mx-auto w-full max-w-6xl px-4 sm:px-6 "> <section class="py-10 sm:py-14"> <div class="grid items-start gap-8 lg:grid-cols-2 lg:gap-10"> <div> <p class="text-xs font-medium uppercase tracking-[0.18em] text-white/55">No-login integrity receipts</p> <h1 class="mt-4 text-4xl font-medium tracking-tight text-white/95 sm:text-5xl">Prove an output matches a confidential source.</h1> <p class="mt-4 text-lg leading-relaxed text-white/75">Publish a receipt. Anyone can verify the bytes later—without access to your internal systems.</p> <p class="mt-3 text-sm leading-relaxed text-white/65">Verified means the hashes match (black/white). It does not imply truth, compliance, or interpretation.</p> <div class="mt-7 flex flex-col items-start gap-3 sm:flex-row"> <a class="inline-flex items-center justify-center rounded-full px-4 py-2 text-sm font-medium transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background bg-primary text-primary-foreground hover:bg-primary/90 min-w-[190px]" href="https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n" target="_blank" rel="noreferrer"> See a live receipt </a><a class="inline-flex items-center justify-center rounded-full px-4 py-2 text-sm font-medium transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background border border-white/12 bg-white/5 text-white/85 hover:bg-white/10 hover:text-white min-w-[190px]" href="/whitepaper/"> Read the paper </a> </div> <div class="mt-7 grid gap-3 sm:grid-cols-2"> <div class="rounded-2xl border border-white/10 bg-white/5 p-5 shadow-[0_16px_60px_rgba(0,0,0,0.35)] text-left"> <div class="text-xs font-medium uppercase tracking-wide text-white/50">What is verified</div> <div class="mt-2 text-sm leading-relaxed text-white/80">The output bytes match the receipt hash.</div> </div><div class="rounded-2xl border border-white/10 bg-white/5 p-5 shadow-[0_16px_60px_rgba(0,0,0,0.35)] text-left"> <div class="text-xs font-medium uppercase tracking-wide text-white/50">What is not verified</div> <div class="mt-2 text-sm leading-relaxed text-white/80">Whether the output is correct, true, or compliant.</div> </div> </div> </div> <div class="rounded-2xl border border-white/10 bg-white/5 p-5 shadow-[0_16px_60px_rgba(0,0,0,0.35)] lg:mt-2"> <div class="flex items-start justify-between gap-4"> <div> <div class="text-xs font-medium uppercase tracking-wide text-white/50">Receipt preview</div> <div class="mt-2 text-sm leading-relaxed text-white/80">
This is what a third party sees. No login. One question: do the bytes match the hash?
</div> </div> <a class="shrink-0 rounded-full border border-white/12 bg-white/5 px-3 py-1 text-xs font-medium text-white/85 hover:bg-white/10 hover:text-white" href="https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n" target="_blank" rel="noreferrer">Open</a> </div> <div class="mt-5 grid gap-3 text-xs"> <div class="rounded-xl border border-white/10 bg-slate-950/30 px-3 py-3"> <div class="text-white/55">shareId</div> <div class="mt-1 break-all font-mono text-white/85">6qRgcR01kw_qNo63Dbs_ob9n</div> </div> <div class="rounded-xl border border-white/10 bg-slate-950/30 px-3 py-3"> <div class="text-white/55">verified</div> <div class="mt-1 text-sm font-medium text-white/90">yes / no</div> </div> <div class="rounded-xl border border-white/10 bg-slate-950/30 px-3 py-3"> <div class="text-white/55">proof links</div> <div class="mt-1 space-y-1 font-mono text-white/85"> <div class="break-all">/static/trace/&lt;shareId&gt;</div> <div class="break-all">/static/pack/&lt;shareId&gt;</div> <div class="break-all">/static/pack/&lt;shareId&gt;.md</div> </div> </div> </div> </div> </div> </section> <section class="py-12"> <div class="mb-6"> <h2 class="text-lg font-semibold tracking-tight text-white/95 sm:text-xl">How it works</h2> <p class="mt-2 text-sm leading-relaxed text-white/70 sm:text-[0.95rem]">Four steps. One outcome: verified or not.</p> <div class="mt-4 h-px w-full bg-white/10" aria-hidden="true"></div> </div> <div class="rounded-2xl border border-white/10 bg-white/5 p-5 shadow-[0_16px_60px_rgba(0,0,0,0.35)] "> <ol class="divide-y divide-white/10"> <li class="flex gap-4 py-5"> <div class="mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-white/10 bg-slate-950/30 text-sm font-medium text-white/85"> 1 </div> <div class="flex-1"> <div class="flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between"> <h3 class="text-base font-semibold tracking-tight text-white/90">Keep the source private</h3> <div class="rounded-full border border-white/10 bg-slate-950/30 px-2 py-0.5 text-[11px] text-white/70"> source_sha256 </div> </div> <p class="mt-2 text-sm leading-relaxed text-white/70">You do not publish the confidential source.</p> </div> </li><li class="flex gap-4 py-5"> <div class="mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-white/10 bg-slate-950/30 text-sm font-medium text-white/85"> 2 </div> <div class="flex-1"> <div class="flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between"> <h3 class="text-base font-semibold tracking-tight text-white/90">Hash what you will share</h3> <div class="rounded-full border border-white/10 bg-slate-950/30 px-2 py-0.5 text-[11px] text-white/70"> output_sha256 </div> </div> <p class="mt-2 text-sm leading-relaxed text-white/70">You hash the output you can show to others.</p> </div> </li><li class="flex gap-4 py-5"> <div class="mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-white/10 bg-slate-950/30 text-sm font-medium text-white/85"> 3 </div> <div class="flex-1"> <div class="flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between"> <h3 class="text-base font-semibold tracking-tight text-white/90">Publish a receipt</h3> <div class="rounded-full border border-white/10 bg-slate-950/30 px-2 py-0.5 text-[11px] text-white/70"> receipt_url </div> </div> <p class="mt-2 text-sm leading-relaxed text-white/70">A receipt binds source → output so the debate stays grounded.</p> </div> </li><li class="flex gap-4 py-5"> <div class="mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-white/10 bg-slate-950/30 text-sm font-medium text-white/85"> 4 </div> <div class="flex-1"> <div class="flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between"> <h3 class="text-base font-semibold tracking-tight text-white/90">Third parties verify</h3> <div class="rounded-full border border-white/10 bg-slate-950/30 px-2 py-0.5 text-[11px] text-white/70"> verified: true/false </div> </div> <p class="mt-2 text-sm leading-relaxed text-white/70">They verify hashes match—no logins.</p> </div> </li> </ol> </div> </section> <section class="py-12"> <div class="mb-6"> <h2 class="text-lg font-semibold tracking-tight text-white/95 sm:text-xl">What you get (black/white)</h2> <div class="mt-4 h-px w-full bg-white/10" aria-hidden="true"></div> </div> <div class="grid gap-4 sm:grid-cols-2 lg:grid-cols-4"> <div class="rounded-2xl border border-white/10 bg-white/5 p-5 shadow-[0_16px_60px_rgba(0,0,0,0.35)] "> <h3 class="text-base font-semibold tracking-tight text-white/90">Stable proof links</h3> <p class="mt-2 text-sm leading-relaxed text-white/70">Share a URL that survives handoffs and time.</p> <ul class="mt-4 space-y-2 text-xs text-white/70"> <li class="break-all rounded-lg border border-white/10 bg-slate-950/30 px-3 py-2 font-mono">https://infrafabric.io/static/trace/&lt;shareId&gt;</li><li class="break-all rounded-lg border border-white/10 bg-slate-950/30 px-3 py-2 font-mono">https://infrafabric.io/static/pack/&lt;shareId&gt;</li><li class="break-all rounded-lg border border-white/10 bg-slate-950/30 px-3 py-2 font-mono">https://infrafabric.io/static/pack/&lt;shareId&gt;.md</li> </ul> </div><div class="rounded-2xl border border-white/10 bg-white/5 p-5 shadow-[0_16px_60px_rgba(0,0,0,0.35)] "> <h3 class="text-base font-semibold tracking-tight text-white/90">Offline bundles</h3> <p class="mt-2 text-sm leading-relaxed text-white/70">For reviewers who cant download or cant log in.</p> <ul class="mt-4 space-y-2 text-xs text-white/70"> <li class="break-all rounded-lg border border-white/10 bg-slate-950/30 px-3 py-2 font-mono">https://infrafabric.io/static/hosted/review/trace-bundles/&lt;id&gt;/index.html</li> </ul> </div><div class="rounded-2xl border border-white/10 bg-white/5 p-5 shadow-[0_16px_60px_rgba(0,0,0,0.35)] "> <h3 class="text-base font-semibold tracking-tight text-white/90">HTML fallbacks</h3> <p class="mt-2 text-sm leading-relaxed text-white/70">Some reviewers can open HTML but refuse downloads—publish both.</p> </div><div class="rounded-2xl border border-white/10 bg-white/5 p-5 shadow-[0_16px_60px_rgba(0,0,0,0.35)] "> <h3 class="text-base font-semibold tracking-tight text-white/90">Quantum-ready (optional)</h3> <p class="mt-2 text-sm leading-relaxed text-white/70">A post-quantum receipt can exist for the trace (QUANTUM READY, not “quantum-secure”).</p> </div> </div> </section> <section class="py-12"> <div class="mb-6"> <h2 class="text-lg font-semibold tracking-tight text-white/95 sm:text-xl">Browse by sector</h2> <p class="mt-2 text-sm leading-relaxed text-white/70 sm:text-[0.95rem]">Same mechanism, different pressure.</p> <div class="mt-4 h-px w-full bg-white/10" aria-hidden="true"></div> </div> <div class="grid gap-4 sm:grid-cols-2 lg:grid-cols-3"> <a href="/verticals/public-sector/" class="group block"> <div class="rounded-2xl border border-white/10 bg-white/5 p-5 shadow-[0_16px_60px_rgba(0,0,0,0.35)] h-full transition hover:border-white/20 hover:bg-white/[0.07]"> <p class="text-xs font-medium uppercase tracking-wide text-white/50">Public sector reality</p> <h3 class="mt-2 text-base font-semibold tracking-tight text-white/90 group-hover:text-white">Public Sector</h3> <p class="mt-2 text-sm leading-relaxed text-white/70">Public accountability is a thirdparty problem: reviewers need proof without getting access to your internal systems. IF.Trace turns “trust us” into receipts that a stranger can verify.</p> <p class="mt-4 text-xs font-medium text-primary">Open →</p> </div> </a><a href="/verticals/enterprise/" class="group block"> <div class="rounded-2xl border border-white/10 bg-white/5 p-5 shadow-[0_16px_60px_rgba(0,0,0,0.35)] h-full transition hover:border-white/20 hover:bg-white/[0.07]"> <p class="text-xs font-medium uppercase tracking-wide text-white/50">Enterprise pressure</p> <h3 class="mt-2 text-base font-semibold tracking-tight text-white/90 group-hover:text-white">Enterprise</h3> <p class="mt-2 text-sm leading-relaxed text-white/70">In enterprise environments, audit friction becomes a tax on delivery. IF.Trace provides proof that third parties can verify without joining your internal world.</p> <p class="mt-4 text-xs font-medium text-primary">Open →</p> </div> </a><a href="/verticals/research/" class="group block"> <div class="rounded-2xl border border-white/10 bg-white/5 p-5 shadow-[0_16px_60px_rgba(0,0,0,0.35)] h-full transition hover:border-white/20 hover:bg-white/[0.07]"> <p class="text-xs font-medium uppercase tracking-wide text-white/50">External review reality</p> <h3 class="mt-2 text-base font-semibold tracking-tight text-white/90 group-hover:text-white">Research</h3> <p class="mt-2 text-sm leading-relaxed text-white/70">Research reviewers need proof, not your whole environment. IF.Trace makes it practical to share verifiable outputs while keeping raw data controlled.</p> <p class="mt-4 text-xs font-medium text-primary">Open →</p> </div> </a><a href="/verticals/professional-services/" class="group block"> <div class="rounded-2xl border border-white/10 bg-white/5 p-5 shadow-[0_16px_60px_rgba(0,0,0,0.35)] h-full transition hover:border-white/20 hover:bg-white/[0.07]"> <p class="text-xs font-medium uppercase tracking-wide text-white/50">Client handoff reality</p> <h3 class="mt-2 text-base font-semibold tracking-tight text-white/90 group-hover:text-white">Professional Services</h3> <p class="mt-2 text-sm leading-relaxed text-white/70">When advice, drafts, and deliverables become contested, you need custody that holds up. IF.Trace makes your outputs verifiable without exposing your internal process.</p> <p class="mt-4 text-xs font-medium text-primary">Open →</p> </div> </a> </div> </section> <section class="py-12"> <div class="mb-6"> <h2 class="text-lg font-semibold tracking-tight text-white/95 sm:text-xl">Common failure modes</h2> <p class="mt-2 text-sm leading-relaxed text-white/70 sm:text-[0.95rem]">Real buyers dont want more dashboards. They want a third party to stop arguing.</p> <div class="mt-4 h-px w-full bg-white/10" aria-hidden="true"></div> </div> <div class="grid gap-4 lg:grid-cols-3"> <details class="group rounded-2xl border border-white/10 bg-white/5 p-5 shadow-[0_16px_60px_rgba(0,0,0,0.35)]"> <summary class="cursor-pointer list-none"> <div class="flex items-start justify-between gap-4"> <div> <div class="text-sm font-semibold text-white/90">External reviewers cannot log in</div> <div class="mt-2 text-sm text-white/70">They refuse account creation or downloads.</div> </div> <span class="mt-1 text-xs text-primary group-open:rotate-180" aria-hidden="true"></span> </div> </summary> <div class="mt-4 text-sm text-white/70"> <div class="text-xs font-medium uppercase tracking-wide text-white/50">IF.Trace response</div> <div class="mt-2">HTML view + offline bundles + stable URLs.</div> </div> </details><details class="group rounded-2xl border border-white/10 bg-white/5 p-5 shadow-[0_16px_60px_rgba(0,0,0,0.35)]"> <summary class="cursor-pointer list-none"> <div class="flex items-start justify-between gap-4"> <div> <div class="text-sm font-semibold text-white/90">Vendor handoff breaks the proof chain</div> <div class="mt-2 text-sm text-white/70">Links, access, or context disappears after the handoff.</div> </div> <span class="mt-1 text-xs text-primary group-open:rotate-180" aria-hidden="true"></span> </div> </summary> <div class="mt-4 text-sm text-white/70"> <div class="text-xs font-medium uppercase tracking-wide text-white/50">IF.Trace response</div> <div class="mt-2">No-login proof links that survive time.</div> </div> </details><details class="group rounded-2xl border border-white/10 bg-white/5 p-5 shadow-[0_16px_60px_rgba(0,0,0,0.35)]"> <summary class="cursor-pointer list-none"> <div class="flex items-start justify-between gap-4"> <div> <div class="text-sm font-semibold text-white/90">Disputes months later</div> <div class="mt-2 text-sm text-white/70">People argue about what existed at the time.</div> </div> <span class="mt-1 text-xs text-primary group-open:rotate-180" aria-hidden="true"></span> </div> </summary> <div class="mt-4 text-sm text-white/70"> <div class="text-xs font-medium uppercase tracking-wide text-white/50">IF.Trace response</div> <div class="mt-2">Receipts bind source → output; integrity is checkable later.</div> </div> </details> </div> </section> <footer class="pb-16 pt-6"> <div class="flex flex-col gap-3 border-t border-white/10 pt-8 text-sm text-white/70 sm:flex-row sm:items-center sm:justify-between"> <div>Integrity, not interpretation.</div> <div class="flex flex-wrap gap-4"> <a href="/privacy/" class="hover:text-white"> Privacy </a><a href="/terms/" class="hover:text-white"> Terms </a><a href="mailto:ds@infrafabric.io?subject=IF.Trace%20contact" class="hover:text-white" target="_blank" rel="noreferrer"> Contact </a> </div> </div> </footer> </div> </main> <a href="mailto:ds@infrafabric.io?subject=IF.Trace%20contact" class="fixed bottom-6 right-6 inline-flex h-10 items-center justify-center rounded-full border border-white/10 bg-slate-950/50 px-4 text-xs font-medium text-white/80 backdrop-blur hover:bg-slate-950/70 hover:text-white">contact</a> </body></html>