diff --git a/ifttt/404.html b/ifttt/404.html index 7ddb8b3..4b1f935 100644 --- a/ifttt/404.html +++ b/ifttt/404.html @@ -1 +1 @@ -
API
Implementation ABC. Copy/paste examples. A real endpoint once the service is live.
Minimal surface area. Predictable responses.
| Field | Type | Required | Example |
|---|---|---|---|
| source_sha256 | hex | yes | 84730eea481d385d77ec2ee6fc3416c7156c4ff6e2cccaae6fbed649511138ed |
| output_sha256 | hex | yes | c306c5964c2945727d9b6840678db6013c49275acb89d2dfc09b9ce1b4808cc3 |
| metadata | object | no | {"kind":"report-summary","public_title":"Q4 review pack"} |
+IF.Trace — API API
API
Implementation ABC. Copy/paste examples. A real endpoint once the service is live.
Hello world
Create one receipt (source hash + output hash). Copy/paste.
curlcurl -sS -X POST https://api.infrafabric.io/v1/trace \ + -H 'Authorization: Bearer $IFTRACE_API_KEY' \ + -H 'Content-Type: application/json' \ + -d '{"source_sha256":"...","output_sha256":"..."}'+Use non-confidential test hashes. This endpoint is wired once the service is live.
Response (example){ + "shareId": "6qRgcR01kw_qNo63Dbs_ob9n", + "receipt_url": "https://infrafabric.io/static/trace/6qRgcR01kw_qNo63Dbs_ob9n" +}+Base URL
https://api.infrafabric.ioEndpoints
Minimal surface area. Predictable responses.
POST /v1/traceCreate a receipt
Field Type Required Example source_sha256 hex yes 84730eea481d385d77ec2ee6fc3416c7156c4ff6e2cccaae6fbed649511138ed output_sha256 hex yes c306c5964c2945727d9b6840678db6013c49275acb89d2dfc09b9ce1b4808cc3 metadata object no {"kind":"report-summary","public_title":"Q4 review pack"} Response example{ "shareId": "6qRgcR01kw_qNo63Dbs_ob9n", diff --git a/ifttt/assets/_astro/index.Dr9NnB1c.css b/ifttt/assets/_astro/index.Dr9NnB1c.css new file mode 100644 index 0000000..d55cc4c --- /dev/null +++ b/ifttt/assets/_astro/index.Dr9NnB1c.css @@ -0,0 +1 @@ +/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-slate-950:oklch(12.9% .042 264.695);--color-white:#fff;--spacing:.25rem;--breakpoint-2xl:96rem;--container-xl:36rem;--container-3xl:48rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-2xl:1rem;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}html{scroll-behavior:smooth;background-color:var(--background);font-family:var(--font-base)}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.right-0{right:calc(var(--spacing)*0)}.right-6{right:calc(var(--spacing)*6)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.-z-10{z-index:-10}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-7{margin-top:calc(var(--spacing)*7)}.mt-8{margin-top:calc(var(--spacing)*8)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-4{height:calc(var(--spacing)*4)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-full{height:100%}.h-px{height:1px}.min-h-screen{min-height:100vh}.w-8{width:calc(var(--spacing)*8)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-none{max-width:none}.max-w-xl{max-width:var(--container-xl)}.min-w-\[190px\]{min-width:190px}.min-w-\[720px\]{min-width:720px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-white\/10>:not(:last-child)){border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){:where(.divide-white\/10>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.overflow-x-auto{overflow-x:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\/12{border-color:#ffffff1f}@supports (color:color-mix(in lab,red,red)){.border-white\/12{border-color:color-mix(in oklab,var(--color-white)12%,transparent)}}.border-white\/25{border-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.border-white\/25{border-color:color-mix(in oklab,var(--color-white)25%,transparent)}}.bg-background{background-color:var(--background)}.bg-primary{background-color:var(--primary)}.bg-slate-950\/30{background-color:#0206184d}@supports (color:color-mix(in lab,red,red)){.bg-slate-950\/30{background-color:color-mix(in oklab,var(--color-slate-950)30%,transparent)}}.bg-slate-950\/35{background-color:#02061859}@supports (color:color-mix(in lab,red,red)){.bg-slate-950\/35{background-color:color-mix(in oklab,var(--color-slate-950)35%,transparent)}}.bg-slate-950\/40{background-color:#02061866}@supports (color:color-mix(in lab,red,red)){.bg-slate-950\/40{background-color:color-mix(in oklab,var(--color-slate-950)40%,transparent)}}.bg-slate-950\/50{background-color:#02061880}@supports (color:color-mix(in lab,red,red)){.bg-slate-950\/50{background-color:color-mix(in oklab,var(--color-slate-950)50%,transparent)}}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.\[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\'\)\]{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")}.bg-\[linear-gradient\(to_bottom\,rgba\(2\,6\,23\,0\.86\)\,rgba\(2\,6\,23\,0\.96\)\)\]{background-image:linear-gradient(#020617db,#020617f5)}.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\%\)\]{background-image:radial-gradient(900px at 20% 0,#3b82f61a,#0000 60%),radial-gradient(900px at 100% 0,#10b98114,#0000 55%)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.py-14{padding-block:calc(var(--spacing)*14)}.py-24{padding-block:calc(var(--spacing)*24)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-28{padding-top:calc(var(--spacing)*28)}.pr-4{padding-right:calc(var(--spacing)*4)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.pb-16{padding-bottom:calc(var(--spacing)*16)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-all{word-break:break-all}.text-foreground{color:var(--foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-white{color:var(--color-white)}.text-white\/20{color:#fff3}@supports (color:color-mix(in lab,red,red)){.text-white\/20{color:color-mix(in oklab,var(--color-white)20%,transparent)}}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.text-white\/50{color:color-mix(in oklab,var(--color-white)50%,transparent)}}.text-white\/55{color:#ffffff8c}@supports (color:color-mix(in lab,red,red)){.text-white\/55{color:color-mix(in oklab,var(--color-white)55%,transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.text-white\/65{color:#ffffffa6}@supports (color:color-mix(in lab,red,red)){.text-white\/65{color:color-mix(in oklab,var(--color-white)65%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\/75{color:#ffffffbf}@supports (color:color-mix(in lab,red,red)){.text-white\/75{color:color-mix(in oklab,var(--color-white)75%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.text-white\/85{color:color-mix(in oklab,var(--color-white)85%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.text-white\/95{color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.text-white\/95{color:color-mix(in oklab,var(--color-white)95%,transparent)}}.uppercase{text-transform:uppercase}.accent-\[oklch\(var\(--primary\)\)\]{accent-color:oklch(var(--primary))}.opacity-\[0\.035\]{opacity:.035}.mix-blend-overlay{mix-blend-mode:overlay}.shadow-\[0_10px_30px_rgba\(0\,0\,0\,0\.25\)\]{--tw-shadow:0 10px 30px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_16px_60px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow:0 16px 60px var(--tw-shadow-color,#00000059);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.running{animation-play-state:running}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:180deg}@media(hover:hover){.group-hover\:text-white:is(:where(.group):hover *){color:var(--color-white)}}.placeholder\:text-white\/35::placeholder{color:#ffffff59}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-white\/35::placeholder{color:color-mix(in oklab,var(--color-white)35%,transparent)}}@media(hover:hover){.hover\:border-white\/20:hover{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/20:hover{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-slate-950\/70:hover{background-color:#020618b3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-slate-950\/70:hover{background-color:color-mix(in oklab,var(--color-slate-950)70%,transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:bg-white\/\[0\.07\]:hover{background-color:#ffffff12}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.07\]:hover{background-color:color-mix(in oklab,var(--color-white)7%,transparent)}}.hover\:text-white:hover{color:var(--color-white)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-white\/60:focus-visible{--tw-ring-color:#fff9}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-white\/60:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-white)60%,transparent)}}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-60:disabled{opacity:.6}@media(min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:block{display:block}.sm\:inline-flex{display:inline-flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-4{gap:calc(var(--spacing)*4)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:py-14{padding-block:calc(var(--spacing)*14)}.sm\:py-16{padding-block:calc(var(--spacing)*16)}.sm\:pt-32{padding-top:calc(var(--spacing)*32)}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:text-\[0\.95rem\]{font-size:.95rem}}@media(min-width:64rem){.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:mt-2{margin-top:calc(var(--spacing)*2)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:gap-10{gap:calc(var(--spacing)*10)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--font-base:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";--font-heading:var(--font-base);--spacing:.25rem;--radius:.75rem;--container:var(--breakpoint-2xl);--gutter:24px;--background:oklch(14.1% .005 285.823);--foreground:oklch(98.5% 0 0);--card:oklch(21% .006 285.885);--card-foreground:oklch(98.5% 0 0);--popover:oklch(21% .006 285.885);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(70.5% .213 47.604);--primary-foreground:#fff;--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(27.4% .006 286.033);--muted-foreground:oklch(70.5% .015 286.067);--accent:oklch(27.4% .006 286.033);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(40.8% .123 38.172)}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:" ";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:" ";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:" ";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false} diff --git a/ifttt/assets/_astro/index.niIggI7A.css b/ifttt/assets/_astro/index.niIggI7A.css deleted file mode 100644 index b1b7b85..0000000 --- a/ifttt/assets/_astro/index.niIggI7A.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-slate-950:oklch(12.9% .042 264.695);--color-white:#fff;--spacing:.25rem;--breakpoint-2xl:96rem;--container-xl:36rem;--container-3xl:48rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-2xl:1rem;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}html{scroll-behavior:smooth;background-color:var(--background);font-family:var(--font-base)}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.right-0{right:calc(var(--spacing)*0)}.right-6{right:calc(var(--spacing)*6)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.-z-10{z-index:-10}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-7{margin-top:calc(var(--spacing)*7)}.mt-8{margin-top:calc(var(--spacing)*8)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-4{height:calc(var(--spacing)*4)}.h-10{height:calc(var(--spacing)*10)}.h-full{height:100%}.h-px{height:1px}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-none{max-width:none}.max-w-xl{max-width:var(--container-xl)}.min-w-\[190px\]{min-width:190px}.min-w-\[720px\]{min-width:720px}.border-collapse{border-collapse:collapse}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}.overflow-x-auto{overflow-x:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\/12{border-color:#ffffff1f}@supports (color:color-mix(in lab,red,red)){.border-white\/12{border-color:color-mix(in oklab,var(--color-white)12%,transparent)}}.border-white\/25{border-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.border-white\/25{border-color:color-mix(in oklab,var(--color-white)25%,transparent)}}.bg-background{background-color:var(--background)}.bg-primary{background-color:var(--primary)}.bg-slate-950\/30{background-color:#0206184d}@supports (color:color-mix(in lab,red,red)){.bg-slate-950\/30{background-color:color-mix(in oklab,var(--color-slate-950)30%,transparent)}}.bg-slate-950\/40{background-color:#02061866}@supports (color:color-mix(in lab,red,red)){.bg-slate-950\/40{background-color:color-mix(in oklab,var(--color-slate-950)40%,transparent)}}.bg-slate-950\/50{background-color:#02061880}@supports (color:color-mix(in lab,red,red)){.bg-slate-950\/50{background-color:color-mix(in oklab,var(--color-slate-950)50%,transparent)}}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.\[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\'\)\]{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")}.bg-\[linear-gradient\(to_bottom\,rgba\(2\,6\,23\,0\.75\)\,rgba\(2\,6\,23\,0\.95\)\)\]{background-image:linear-gradient(#020617bf,#020617f2)}.bg-\[radial-gradient\(1200px_circle_at_20\%_0\%\,rgba\(16\,185\,129\,0\.18\)\,transparent_60\%\)\,radial-gradient\(1200px_circle_at_90\%_10\%\,rgba\(59\,130\,246\,0\.14\)\,transparent_55\%\)\,radial-gradient\(900px_circle_at_30\%_100\%\,rgba\(244\,63\,94\,0\.10\)\,transparent_55\%\)\]{background-image:radial-gradient(1200px at 20% 0,#10b9812e,#0000 60%),radial-gradient(1200px at 90% 10%,#3b82f624,#0000 55%),radial-gradient(900px at 30% 100%,#f43f5e1a,#0000 55%)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.py-14{padding-block:calc(var(--spacing)*14)}.py-24{padding-block:calc(var(--spacing)*24)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-28{padding-top:calc(var(--spacing)*28)}.pr-4{padding-right:calc(var(--spacing)*4)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.pb-16{padding-bottom:calc(var(--spacing)*16)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-all{word-break:break-all}.text-foreground{color:var(--foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-white{color:var(--color-white)}.text-white\/20{color:#fff3}@supports (color:color-mix(in lab,red,red)){.text-white\/20{color:color-mix(in oklab,var(--color-white)20%,transparent)}}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.text-white\/50{color:color-mix(in oklab,var(--color-white)50%,transparent)}}.text-white\/55{color:#ffffff8c}@supports (color:color-mix(in lab,red,red)){.text-white\/55{color:color-mix(in oklab,var(--color-white)55%,transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.text-white\/65{color:#ffffffa6}@supports (color:color-mix(in lab,red,red)){.text-white\/65{color:color-mix(in oklab,var(--color-white)65%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\/75{color:#ffffffbf}@supports (color:color-mix(in lab,red,red)){.text-white\/75{color:color-mix(in oklab,var(--color-white)75%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.text-white\/85{color:color-mix(in oklab,var(--color-white)85%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.text-white\/95{color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.text-white\/95{color:color-mix(in oklab,var(--color-white)95%,transparent)}}.uppercase{text-transform:uppercase}.accent-\[oklch\(var\(--primary\)\)\]{accent-color:oklch(var(--primary))}.opacity-\[0\.06\]{opacity:.06}.mix-blend-overlay{mix-blend-mode:overlay}.shadow-\[0_16px_60px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow:0 16px 60px var(--tw-shadow-color,#00000059);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_80px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow:0 20px 80px var(--tw-shadow-color,#00000059);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.running{animation-play-state:running}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *){rotate:180deg}@media(hover:hover){.group-hover\:text-white:is(:where(.group):hover *){color:var(--color-white)}}.placeholder\:text-white\/35::placeholder{color:#ffffff59}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-white\/35::placeholder{color:color-mix(in oklab,var(--color-white)35%,transparent)}}@media(hover:hover){.hover\:border-white\/20:hover{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:border-white\/20:hover{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-slate-950\/70:hover{background-color:#020618b3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-slate-950\/70:hover{background-color:color-mix(in oklab,var(--color-slate-950)70%,transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:bg-white\/\[0\.07\]:hover{background-color:#ffffff12}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/\[0\.07\]:hover{background-color:color-mix(in oklab,var(--color-white)7%,transparent)}}.hover\:text-white:hover{color:var(--color-white)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-white\/60:focus-visible{--tw-ring-color:#fff9}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-white\/60:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-white)60%,transparent)}}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--background)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-60:disabled{opacity:.6}@media(min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:block{display:block}.sm\:inline-flex{display:inline-flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-4{gap:calc(var(--spacing)*4)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:py-16{padding-block:calc(var(--spacing)*16)}.sm\:pt-32{padding-top:calc(var(--spacing)*32)}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:text-\[0\.95rem\]{font-size:.95rem}}@media(min-width:64rem){.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:block{display:block}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--font-base:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";--font-heading:var(--font-base);--spacing:.25rem;--radius:.75rem;--container:var(--breakpoint-2xl);--gutter:24px;--background:oklch(14.1% .005 285.823);--foreground:oklch(98.5% 0 0);--card:oklch(21% .006 285.885);--card-foreground:oklch(98.5% 0 0);--popover:oklch(21% .006 285.885);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(70.5% .213 47.604);--primary-foreground:#fff;--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(27.4% .006 286.033);--muted-foreground:oklch(70.5% .015 286.067);--accent:oklch(27.4% .006 286.033);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(40.8% .123 38.172)}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:" ";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:" ";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:" ";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:" ";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false} diff --git a/ifttt/index.html b/ifttt/index.html index e8f59cf..9b74c5a 100644 --- a/ifttt/index.html +++ b/ifttt/index.html @@ -1 +1,3 @@ - IF.Trace contact \ No newline at end of file + No-login verification
IF.Trace
Confidential work → open verification.
Anyone can check the proof links. Nobody needs access to your internal systems.
Verified meansHashes match (black/white).Not impliedTruth, compliance, or interpretation.How it works
A receipt-first sequence. Fast to understand. Hard to fake.
Step 1source_sha256Keep the source private
You do not publish the confidential source.
Step 2output_sha256Hash what you will share
You hash the output you can show to others.
Step 3receipt_urlPublish a receipt
A receipt binds source → output so the debate stays grounded.
Step 4verified: true/falseThird parties verify
They verify hashes match—no logins.
What you get (black/white)
Stable proof links
Share a URL that survives handoffs and time.
- https://infrafabric.io/static/trace/<shareId>
- https://infrafabric.io/static/pack/<shareId>
- https://infrafabric.io/static/pack/<shareId>.md
Offline bundles
For reviewers who can’t download or can’t log in.
- https://infrafabric.io/static/hosted/review/trace-bundles/<id>/index.html
HTML fallbacks
Some reviewers can open HTML but refuse downloads—publish both.
Quantum-ready (optional)
A post-quantum receipt can exist for the trace (QUANTUM READY, not “quantum-secure”).
Browse by sector
Same mechanism, different pressure.
Public sector reality
Public Sector
Public accountability is a third‑party problem: reviewers need proof without getting access to your internal systems. IF.Trace turns “trust us” into receipts that a stranger can verify.
Open →
Enterprise pressure
Enterprise
In enterprise environments, audit friction becomes a tax on delivery. IF.Trace provides proof that third parties can verify without joining your internal world.
Open →
External review reality
Research
Research reviewers need proof, not your whole environment. IF.Trace makes it practical to share verifiable outputs while keeping raw data controlled.
Open →
Client handoff reality
Professional Services
When advice, drafts, and deliverables become contested, you need custody that holds up. IF.Trace makes your outputs verifiable without exposing your internal process.
Open →
Common failure modes
Real buyers don’t want more dashboards. They want a third party to stop arguing.
External reviewers cannot log inThey refuse account creation or downloads.IF.Trace responseHTML view + offline bundles + stable URLs.
Vendor handoff breaks the proof chainLinks, access, or context disappears after the handoff.IF.Trace responseNo-login proof links that survive time.
Disputes months laterPeople argue about what existed at the time.IF.Trace responseReceipts bind source → output; integrity is checkable later.IF.Trace contact \ No newline at end of file diff --git a/ifttt/pricing/index.html b/ifttt/pricing/index.html index d0337a1..2258b16 100644 --- a/ifttt/pricing/index.html +++ b/ifttt/pricing/index.html @@ -1 +1,3 @@ - No-login integrity receipts
Prove an output matches a confidential source.
Publish a receipt. Anyone can verify the bytes later—without access to your internal systems.
Verified means the hashes match (black/white). It does not imply truth, compliance, or interpretation.
What is verifiedThe output bytes match the receipt hash.What is not verifiedWhether the output is correct, true, or compliant.OpenReceipt preview+This is what a third party sees. No login. One question: do the bytes match the hash? +shareId6qRgcR01kw_qNo63Dbs_ob9nverifiedyes / noproof links/static/trace/<shareId>/static/pack/<shareId>/static/pack/<shareId>.mdHow it works
Four steps. One outcome: verified or not.
1Keep the source private
source_sha256You do not publish the confidential source.
2Hash what you will share
output_sha256You hash the output you can show to others.
3Publish a receipt
receipt_urlA receipt binds source → output so the debate stays grounded.
4Third parties verify
verified: true/falseThey verify hashes match—no logins.
What you get (black/white)
Stable proof links
Share a URL that survives handoffs and time.
- https://infrafabric.io/static/trace/<shareId>
- https://infrafabric.io/static/pack/<shareId>
- https://infrafabric.io/static/pack/<shareId>.md
Offline bundles
For reviewers who can’t download or can’t log in.
- https://infrafabric.io/static/hosted/review/trace-bundles/<id>/index.html
HTML fallbacks
Some reviewers can open HTML but refuse downloads—publish both.
Quantum-ready (optional)
A post-quantum receipt can exist for the trace (QUANTUM READY, not “quantum-secure”).
Browse by sector
Same mechanism, different pressure.
Public sector reality
Public Sector
Public accountability is a third‑party problem: reviewers need proof without getting access to your internal systems. IF.Trace turns “trust us” into receipts that a stranger can verify.
Open →
Enterprise pressure
Enterprise
In enterprise environments, audit friction becomes a tax on delivery. IF.Trace provides proof that third parties can verify without joining your internal world.
Open →
External review reality
Research
Research reviewers need proof, not your whole environment. IF.Trace makes it practical to share verifiable outputs while keeping raw data controlled.
Open →
Client handoff reality
Professional Services
When advice, drafts, and deliverables become contested, you need custody that holds up. IF.Trace makes your outputs verifiable without exposing your internal process.
Open →
Common failure modes
Real buyers don’t want more dashboards. They want a third party to stop arguing.
External reviewers cannot log inThey refuse account creation or downloads.IF.Trace responseHTML view + offline bundles + stable URLs.
Vendor handoff breaks the proof chainLinks, access, or context disappears after the handoff.IF.Trace responseNo-login proof links that survive time.
Disputes months laterPeople argue about what existed at the time.IF.Trace responseReceipts bind source → output; integrity is checkable later.IF.Trace — Pricing contact \ No newline at end of file + Pricing
Pricing
One thing priced: the proof surface.
Plans
Free$0
- 10 receipts / month
- Public receipt URLs
- HTML view
Subscription (sliding scale)$9.99+ / month
- Receipt creation + verification
- Predictable monthly pricing
- Unit price decreases with volume
Pay as you go$0.12 / receipt
- No subscription
- Same verification surface
Subscription calculator
Choose a plan breakpoint. Unit price decreases with volume.
Monthly volume100 receiptsUnit price$0.10Subscription$9.99PAYG equivalent$12.00At this volume, subscription is about $2.01 less than PAYG.The unit price is shown at the plan breakpoints. If you need volumes above 25,000/month, the unit price continues at $0.05 unless explicitly agreed otherwise.
Notes
- We verify integrity (hashes), not correctness or truth.
- Large file egress or unusual storage can incur overages; see Terms.
IF.Trace — Pricing contact \ No newline at end of file diff --git a/ifttt/privacy/index.html b/ifttt/privacy/index.html index 6675929..42bbcbb 100644 --- a/ifttt/privacy/index.html +++ b/ifttt/privacy/index.html @@ -1 +1 @@ - Pricing
Pricing
One thing priced: the proof surface.
Plans
+A “receipt” is one binding of source_sha256 + output_sha256. A third party verifies by checking whether the hashes match. +
Free$0
- 10 receipts / month
- Public receipt URLs
- HTML view
Subscription (sliding scale)$9.99+ / month
- Receipt creation + verification
- Predictable monthly pricing
- Unit price decreases with volume
Pay as you go$0.12 / receipt
- No subscription
- Same verification surface
Subscription calculator
Choose a plan breakpoint. Unit price decreases with volume.
Monthly volume100 receiptsUnit price$0.10Subscription$9.99PAYG equivalent$12.00At this volume, subscription is about $2.01 less than PAYG.The unit price is shown at the plan breakpoints. If you need volumes above 25,000/month, the unit price continues at $0.05 unless explicitly agreed otherwise.
Notes
- We verify integrity (hashes), not correctness or truth.
- Large file egress or unusual storage can incur overages; see Terms.
IF.Trace — Privacy contact \ No newline at end of file + Legal
Privacy
Plain language. Short. Built for this category.
Policy
IF.Trace is built to keep confidential work confidential.
What we store by default:
- Receipt data (hashes and non-sensitive metadata you choose to attach).
- Operational logs needed to keep the service reliable (e.g., timestamps and request identifiers).
What we do not need:
- Your confidential source files.
If you upload or paste content into any test tools, treat that content as non-confidential.
If you contact us by email, we will use your email only to reply to your request.
We do not sell contact lists.
IF.Trace — Privacy contact \ No newline at end of file diff --git a/ifttt/terms/index.html b/ifttt/terms/index.html index 39145c2..cbf9a5c 100644 --- a/ifttt/terms/index.html +++ b/ifttt/terms/index.html @@ -1 +1 @@ - Legal
Privacy
Plain language. Short. Built for this category.
Policy
IF.Trace is built to keep confidential work confidential.
What we store by default:
- Receipt data (hashes and non-sensitive metadata you choose to attach).
- Operational logs needed to keep the service reliable (e.g., timestamps and request identifiers).
What we do not need:
- Your confidential source files.
If you upload or paste content into any test tools, treat that content as non-confidential.
If you contact us by email, we will use your email only to reply to your request.
We do not sell contact lists.
IF.Trace — Terms contact \ No newline at end of file + Legal
Terms
Plain language. Short. Built for this category.
Terms
IF.Trace provides integrity receipts.
Black/white meaning:
- VERIFIED means hashes match.
- It does not mean the content is true, correct, compliant, safe, or endorsed.
Usage:
- You are responsible for what you choose to publish and what metadata you attach.
- Do not upload confidential sources to public demo tooling.
Pricing and overages:
- Subscription pricing follows the published sliding scale breakpoints.
- Pay-as-you-go is billed per receipt.
- If your usage involves unusually large artifacts (egress, storage, or bandwidth beyond typical receipt traffic), we may apply reasonable overages. Any overage policy change is documented before billing.
Availability:
- The marketing site may describe features that depend on API availability. The service is considered live only when the API is operational and tested.
IF.Trace — Terms contact \ No newline at end of file diff --git a/ifttt/verticals/ai/index.html b/ifttt/verticals/ai/index.html index a47bb9d..a70c29a 100644 --- a/ifttt/verticals/ai/index.html +++ b/ifttt/verticals/ai/index.html @@ -1 +1 @@ - Legal
Terms
Plain language. Short. Built for this category.
Terms
IF.Trace provides integrity receipts.
Black/white meaning:
- VERIFIED means hashes match.
- It does not mean the content is true, correct, compliant, safe, or endorsed.
Usage:
- You are responsible for what you choose to publish and what metadata you attach.
- Do not upload confidential sources to public demo tooling.
Pricing and overages:
- Subscription pricing follows the published sliding scale breakpoints.
- Pay-as-you-go is billed per receipt.
- If your usage involves unusually large artifacts (egress, storage, or bandwidth beyond typical receipt traffic), we may apply reasonable overages. Any overage policy change is documented before billing.
Availability:
- The marketing site may describe features that depend on API availability. The service is considered live only when the API is operational and tested.
IF.Trace — AI Product Companies contact \ No newline at end of file + AI trust pressure
AI Product Companies
Make outputs provable, not persuasive.
When an output is contested (“why did it say that?”), you need provenance. IF.Trace supports verifiable linkage from inputs to outputs.
IF.Trace — AI Product Companies contact \ No newline at end of file diff --git a/ifttt/verticals/enterprise/index.html b/ifttt/verticals/enterprise/index.html index b22709a..a2fab7e 100644 --- a/ifttt/verticals/enterprise/index.html +++ b/ifttt/verticals/enterprise/index.html @@ -1 +1 @@ - AI trust pressure
AI Product Companies
Make outputs provable, not persuasive.
When an output is contested (“why did it say that?”), you need provenance. IF.Trace supports verifiable linkage from inputs to outputs.
IF.Trace — Enterprise contact \ No newline at end of file + Enterprise pressure
Enterprise
Audit throughput without credential sprawl.
In enterprise environments, audit friction becomes a tax on delivery. IF.Trace provides proof that third parties can verify without joining your internal world.
IF.Trace — Enterprise contact \ No newline at end of file diff --git a/ifttt/verticals/finance/index.html b/ifttt/verticals/finance/index.html index f925a94..5e176b4 100644 --- a/ifttt/verticals/finance/index.html +++ b/ifttt/verticals/finance/index.html @@ -1 +1 @@ - Enterprise pressure
Enterprise
Audit throughput without credential sprawl.
In enterprise environments, audit friction becomes a tax on delivery. IF.Trace provides proof that third parties can verify without joining your internal world.
IF.Trace — Financial Services contact \ No newline at end of file + Financial pressure
Financial Services
Non-repudiation for decisions and outputs.
Regulated environments need evidence that survives scrutiny. IF.Trace supports verifiable artifacts without fragile internal access dependencies.
IF.Trace — Financial Services contact \ No newline at end of file diff --git a/ifttt/verticals/government/index.html b/ifttt/verticals/government/index.html index 2fda97c..c76db57 100644 --- a/ifttt/verticals/government/index.html +++ b/ifttt/verticals/government/index.html @@ -1 +1 @@ - Financial pressure
Financial Services
Non-repudiation for decisions and outputs.
Regulated environments need evidence that survives scrutiny. IF.Trace supports verifiable artifacts without fragile internal access dependencies.
IF.Trace — Government contact \ No newline at end of file + Government review reality
Government
Evidence must outlive people.
When decisions are reviewed months later, the only thing that matters is what you can still prove. IF.Trace produces stable proof surfaces that survive staffing changes, vendors, and audits.
IF.Trace — Government contact \ No newline at end of file diff --git a/ifttt/verticals/healthcare/index.html b/ifttt/verticals/healthcare/index.html index 1a01414..96803d6 100644 --- a/ifttt/verticals/healthcare/index.html +++ b/ifttt/verticals/healthcare/index.html @@ -1 +1 @@ - Government review reality
Government
Evidence must outlive people.
When decisions are reviewed months later, the only thing that matters is what you can still prove. IF.Trace produces stable proof surfaces that survive staffing changes, vendors, and audits.
IF.Trace — Healthcare contact \ No newline at end of file + Healthcare constraints
Healthcare
Proof that respects boundaries.
Healthcare environments require strict boundaries: privacy, consent, and auditability. IF.Trace supports verification without broad data exposure.
IF.Trace — Healthcare contact \ No newline at end of file diff --git a/ifttt/verticals/index.html b/ifttt/verticals/index.html index 0c38103..17c6a9f 100644 --- a/ifttt/verticals/index.html +++ b/ifttt/verticals/index.html @@ -1 +1 @@ - Healthcare constraints
Healthcare
Proof that respects boundaries.
Healthcare environments require strict boundaries: privacy, consent, and auditability. IF.Trace supports verification without broad data exposure.
IF.Trace — Sector contact \ No newline at end of file + Browse by sector
Same mechanism, different pressure.
Public sector reality
Public Sector
Public accountability is a third‑party problem: reviewers need proof without getting access to your internal systems. IF.Trace turns “trust us” into receipts that a stranger can verify.
Open →
Government review reality
Government
When decisions are reviewed months later, the only thing that matters is what you can still prove. IF.Trace produces stable proof surfaces that survive staffing changes, vendors, and audits.
Open →
Enterprise pressure
Enterprise
In enterprise environments, audit friction becomes a tax on delivery. IF.Trace provides proof that third parties can verify without joining your internal world.
Open →
External review reality
Research
Research reviewers need proof, not your whole environment. IF.Trace makes it practical to share verifiable outputs while keeping raw data controlled.
Open →
Scientific review reality
Sciences
Science is adversarial in the best way: other people must be able to check your work. IF.Trace keeps the proof surface simple and stable.
Open →
Client handoff reality
Professional Services
When advice, drafts, and deliverables become contested, you need custody that holds up. IF.Trace makes your outputs verifiable without exposing your internal process.
Open →
Healthcare constraints
Healthcare
Healthcare environments require strict boundaries: privacy, consent, and auditability. IF.Trace supports verification without broad data exposure.
Open →
Financial pressure
Financial Services
Regulated environments need evidence that survives scrutiny. IF.Trace supports verifiable artifacts without fragile internal access dependencies.
Open →
Legal reality
Legal
Legal work depends on what can be proven. IF.Trace provides a simple, verifiable custody layer for documents and derived outputs.
Open →
Audit readiness
B2B SaaS (SOC 2 / ISO)
Compliance is often a third-party proof problem. IF.Trace makes it easier to show audit evidence without turning your internal systems into public surface area.
Open →
Security operations
SecOps / SOC
Security teams summarize fast under pressure. IF.Trace keeps summaries tied to underlying evidence so post-incident review stays grounded.
Open →
AI trust pressure
AI Product Companies
When an output is contested (“why did it say that?”), you need provenance. IF.Trace supports verifiable linkage from inputs to outputs.
Open →
Supply chain reality
Industrial / Supply Chain
In complex supply chains, custody breaks at handoff points. IF.Trace makes proof portable so verification survives contractor and vendor boundaries.
Open →
IF.Trace — Use cases contact \ No newline at end of file diff --git a/ifttt/verticals/legal/index.html b/ifttt/verticals/legal/index.html index 4b00bc7..4455b0d 100644 --- a/ifttt/verticals/legal/index.html +++ b/ifttt/verticals/legal/index.html @@ -1 +1 @@ - Browse by sector
Same mechanism, different pressure.
Public sector reality
Public Sector
Public accountability is a third‑party problem: reviewers need proof without getting access to your internal systems. IF.Trace turns “trust us” into receipts that a stranger can verify.
Open →
Government review reality
Government
When decisions are reviewed months later, the only thing that matters is what you can still prove. IF.Trace produces stable proof surfaces that survive staffing changes, vendors, and audits.
Open →
Enterprise pressure
Enterprise
In enterprise environments, audit friction becomes a tax on delivery. IF.Trace provides proof that third parties can verify without joining your internal world.
Open →
External review reality
Research
Research reviewers need proof, not your whole environment. IF.Trace makes it practical to share verifiable outputs while keeping raw data controlled.
Open →
Scientific review reality
Sciences
Science is adversarial in the best way: other people must be able to check your work. IF.Trace keeps the proof surface simple and stable.
Open →
Client handoff reality
Professional Services
When advice, drafts, and deliverables become contested, you need custody that holds up. IF.Trace makes your outputs verifiable without exposing your internal process.
Open →
Healthcare constraints
Healthcare
Healthcare environments require strict boundaries: privacy, consent, and auditability. IF.Trace supports verification without broad data exposure.
Open →
Financial pressure
Financial Services
Regulated environments need evidence that survives scrutiny. IF.Trace supports verifiable artifacts without fragile internal access dependencies.
Open →
Legal reality
Legal
Legal work depends on what can be proven. IF.Trace provides a simple, verifiable custody layer for documents and derived outputs.
Open →
Audit readiness
B2B SaaS (SOC 2 / ISO)
Compliance is often a third-party proof problem. IF.Trace makes it easier to show audit evidence without turning your internal systems into public surface area.
Open →
Security operations
SecOps / SOC
Security teams summarize fast under pressure. IF.Trace keeps summaries tied to underlying evidence so post-incident review stays grounded.
Open →
AI trust pressure
AI Product Companies
When an output is contested (“why did it say that?”), you need provenance. IF.Trace supports verifiable linkage from inputs to outputs.
Open →
Supply chain reality
Industrial / Supply Chain
In complex supply chains, custody breaks at handoff points. IF.Trace makes proof portable so verification survives contractor and vendor boundaries.
Open →
IF.Trace — Legal contact \ No newline at end of file + Legal reality
Legal
Chain-of-custody for drafts and evidence.
Legal work depends on what can be proven. IF.Trace provides a simple, verifiable custody layer for documents and derived outputs.
IF.Trace — Legal contact \ No newline at end of file diff --git a/ifttt/verticals/professional-services/index.html b/ifttt/verticals/professional-services/index.html index 41f8060..e3d8d86 100644 --- a/ifttt/verticals/professional-services/index.html +++ b/ifttt/verticals/professional-services/index.html @@ -1 +1 @@ - Legal reality
Legal
Chain-of-custody for drafts and evidence.
Legal work depends on what can be proven. IF.Trace provides a simple, verifiable custody layer for documents and derived outputs.
IF.Trace — Professional Services contact \ No newline at end of file + Client handoff reality
Professional Services
Receipts that survive disputes.
When advice, drafts, and deliverables become contested, you need custody that holds up. IF.Trace makes your outputs verifiable without exposing your internal process.
IF.Trace — Professional Services contact \ No newline at end of file diff --git a/ifttt/verticals/public-sector/index.html b/ifttt/verticals/public-sector/index.html index 7d3eb1e..e0354cb 100644 --- a/ifttt/verticals/public-sector/index.html +++ b/ifttt/verticals/public-sector/index.html @@ -1 +1 @@ - Client handoff reality
Professional Services
Receipts that survive disputes.
When advice, drafts, and deliverables become contested, you need custody that holds up. IF.Trace makes your outputs verifiable without exposing your internal process.
IF.Trace — Public Sector contact \ No newline at end of file + Public sector reality
Public Sector
Proof must survive procurement.
Public accountability is a third‑party problem: reviewers need proof without getting access to your internal systems. IF.Trace turns “trust us” into receipts that a stranger can verify.
Hand this to a reviewer
One URL per line. No logins.
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.htmlLinks
IF.Trace — Public Sector contact \ No newline at end of file diff --git a/ifttt/verticals/research/index.html b/ifttt/verticals/research/index.html index c8b91d5..0724469 100644 --- a/ifttt/verticals/research/index.html +++ b/ifttt/verticals/research/index.html @@ -1 +1 @@ - Public sector reality
Public Sector
Proof must survive procurement.
Public accountability is a third‑party problem: reviewers need proof without getting access to your internal systems. IF.Trace turns “trust us” into receipts that a stranger can verify.
Hand this to a reviewer
One URL per line. No logins.
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.htmlLinks
IF.Trace — Research contact \ No newline at end of file + External review reality
Research
Reproducibility without leaking the lab.
Research reviewers need proof, not your whole environment. IF.Trace makes it practical to share verifiable outputs while keeping raw data controlled.
IF.Trace — Research contact \ No newline at end of file diff --git a/ifttt/verticals/saas/index.html b/ifttt/verticals/saas/index.html index 605c804..66f26e7 100644 --- a/ifttt/verticals/saas/index.html +++ b/ifttt/verticals/saas/index.html @@ -1 +1 @@ - External review reality
Research
Reproducibility without leaking the lab.
Research reviewers need proof, not your whole environment. IF.Trace makes it practical to share verifiable outputs while keeping raw data controlled.
IF.Trace — B2B SaaS (SOC 2 / ISO) contact \ No newline at end of file + Audit readiness
B2B SaaS (SOC 2 / ISO)
Prove what existed, when it existed.
Compliance is often a third-party proof problem. IF.Trace makes it easier to show audit evidence without turning your internal systems into public surface area.
IF.Trace — B2B SaaS (SOC 2 / ISO) contact \ No newline at end of file diff --git a/ifttt/verticals/sciences/index.html b/ifttt/verticals/sciences/index.html index c737543..ff82383 100644 --- a/ifttt/verticals/sciences/index.html +++ b/ifttt/verticals/sciences/index.html @@ -1 +1 @@ - Audit readiness
B2B SaaS (SOC 2 / ISO)
Prove what existed, when it existed.
Compliance is often a third-party proof problem. IF.Trace makes it easier to show audit evidence without turning your internal systems into public surface area.
IF.Trace — Sciences contact \ No newline at end of file + Scientific review reality
Sciences
Make claims checkable later.
Science is adversarial in the best way: other people must be able to check your work. IF.Trace keeps the proof surface simple and stable.
IF.Trace — Sciences contact \ No newline at end of file diff --git a/ifttt/verticals/secops/index.html b/ifttt/verticals/secops/index.html index a8b1e50..7e065fb 100644 --- a/ifttt/verticals/secops/index.html +++ b/ifttt/verticals/secops/index.html @@ -1 +1 @@ - Scientific review reality
Sciences
Make claims checkable later.
Science is adversarial in the best way: other people must be able to check your work. IF.Trace keeps the proof surface simple and stable.
IF.Trace — SecOps / SOC contact \ No newline at end of file + Security operations
SecOps / SOC
Bind summaries to evidence.
Security teams summarize fast under pressure. IF.Trace keeps summaries tied to underlying evidence so post-incident review stays grounded.
IF.Trace — SecOps / SOC contact \ No newline at end of file diff --git a/ifttt/verticals/supply-chain/index.html b/ifttt/verticals/supply-chain/index.html index caeee8e..c500faa 100644 --- a/ifttt/verticals/supply-chain/index.html +++ b/ifttt/verticals/supply-chain/index.html @@ -1 +1 @@ - Security operations
SecOps / SOC
Bind summaries to evidence.
Security teams summarize fast under pressure. IF.Trace keeps summaries tied to underlying evidence so post-incident review stays grounded.
IF.Trace — Industrial / Supply Chain contact \ No newline at end of file + Supply chain reality
Industrial / Supply Chain
Traceability across vendor handoffs.
In complex supply chains, custody breaks at handoff points. IF.Trace makes proof portable so verification survives contractor and vendor boundaries.
IF.Trace — Industrial / Supply Chain contact \ No newline at end of file diff --git a/ifttt/whitepaper/index.html b/ifttt/whitepaper/index.html index 9b7c52a..5c849c9 100644 --- a/ifttt/whitepaper/index.html +++ b/ifttt/whitepaper/index.html @@ -1 +1 @@ - Supply chain reality
Industrial / Supply Chain
Traceability across vendor handoffs.
In complex supply chains, custody breaks at handoff points. IF.Trace makes proof portable so verification survives contractor and vendor boundaries.
IF.Trace — Whitepaper contact \ No newline at end of file + Whitepaper
Whitepaper
The receipt-first sequence, documented with verifiable artifacts.
What this paper is
Hash the source → hash the output → publish a trace → share no-login receipts → optional offline bundles.
Verified means hashes match (black/white).
Not implied: truth, compliance, or interpretation.
Links
No login. Use the HTML version if your environment blocks downloads.
Limits (black/white)
Verified
- Hashes match.
- Receipt links are stable.
- Offline bundle checksums match (when used).
Not implied
- Truth.
- Compliance.
- Intent or interpretation.
IF.Trace — Whitepaper contact \ No newline at end of file Whitepaper
Whitepaper
The receipt-first sequence, documented with verifiable artifacts.
What this paper is
Hash the source → hash the output → publish a trace → share no-login receipts → optional offline bundles.
Verified means hashes match (black/white).
Not implied: truth, compliance, or interpretation.
Links
No login. Use the HTML version if your environment blocks downloads.
Limits (black/white)
Verified
- Hashes match.
- Receipt links are stable.
- Offline bundle checksums match (when used).
Not implied
- Truth.
- Compliance.
- Intent or interpretation.