One key · every Provider · tiered self-serve

Sovereign capabilities you can drop into anything.

Every capability across the Fiduciary, ISET, Fidnt and Wizdom estate — post-quantum signing, phishing-resistant sign-in, court-admissible audit, transferable e-records and more — delivered as a snippet, a widget, an SDK, an API, a platform plugin, or an AI connector. One Bearer key unlocks them all, gated by the same tier across every Provider.

30+Capabilities
6Form factors
T0–T3Tiered, free to start
1Key, every Provider

One capability — six ways to ship it

SNIPPET
Snippet
Copy-paste HTML/JS. Zero build, works in seconds.
EMBED
Embed / Widget
Drop-in UI — sign-in button, verify badge, chat bubble.
SDK
SDK
Typed client library wrapping the API for your stack.
API
API
Server-to-server REST with a Bearer key. Signed responses.
PLUGIN
Plugin
Native add-on for WordPress, Shopify, Webflow, browsers.
MCP
Connector (MCP)
The capability exposed to AI agents over MCP.

Your console

Sign in to reveal your live key, watch usage against your cap in real time, copy ready-to-run snippets, and upgrade your tier — all self-serve.

Sign in Create free account
Your live key
ft_live_…
This month
0 / —
0 today
Plan
starter
Dashboard

Bundles

Curated sets that ship as one charter and one price. The fastest path to a sovereign-grade stack without wiring each capability yourself.

`, js:`
\n` }, { id:'etr-settle', product:'ISET · eTR', name:'Anchor & Settle', tier:'T3', status:'preview', ff:['API'], blurb:'Settlement-neutral anchoring and multi-chain settlement for issued instruments. Counsel-gated tokenization path available.', legal:'Settlement-neutral · multi-chain bridges', endpoint:'POST /v1/etr/payment-request · /v1/etr/settle', curl:`curl -X POST ${API}/v1/etr/settle \\\n -H "Authorization: Bearer YOUR_API_KEY" \\\n -H "Content-Type: application/json" \\\n -d '{"instrument_id":"epn_abc123"}'`, js:`await fetch('${API}/v1/etr/settle', {\n method:'POST',\n headers:{ Authorization:'Bearer YOUR_API_KEY', 'Content-Type':'application/json' },\n body: JSON.stringify({ instrument_id:'epn_abc123' })\n});` }, /* ── ISET Email ── */ { id:'email-domain', product:'ISET · Email', name:'Sovereign Email for Your Domain', tier:'T1', status:'preview', ff:['API','PLUGIN'], blurb:'Provision send + receive on any domain you own, on your own infrastructure, secured by Fidnt identity. Your mail, your sovereignty.', legal:'Own MTA · Fidnt-secured SSO · no third-party reader', endpoint:'iset.email provisioning API', curl:`# Domain provisioning is account-gated.\n# Connect a domain from the iset.email console to receive API keys.`, js:`// Send through your own sovereign MTA\nawait fetch('https://iset.email/api/send', {\n headers:{ Authorization:'Bearer YOUR_EMAIL_KEY' },\n /* ... */\n});` }, { id:'email-studio', product:'ISET · Email', name:'Email Design Studio', tier:'T1', status:'preview', ff:['EMBED','API'], blurb:'A block-based HTML-email builder with its own bulletproof compiler — embed the builder, or send pre-designed templates via API.', legal:'Own compiler (no third-party) · brand-kit aware', endpoint:'iset.email studio embed + send API', curl:`# Embed the studio builder in your app\n`, js:`// Or render + send a saved template\nawait fetch('https://iset.email/api/templates/send', { /* ... */ });` }, { id:'email-mcp', product:'ISET · Email', name:'Email MCP Connector', tier:'T2', status:'live', ff:['MCP'], blurb:'Expose mailbox actions to AI agents over MCP — compose, send and read with sovereign identity in the loop.', legal:'MCP · session-gated agency', endpoint:'iset.email /mcp', curl:`# Add the connector to your MCP client\n{ "mcpServers": { "iset-email": { "url": "https://iset.email/mcp" } } }`, js:`// Agents call mail tools through the connector\n// (compose, send, list, read) with consent enforced.` }, /* ── Fidnt ── */ { id:'chat', product:'Fidnt', name:'Secured Chat', tier:'T0', status:'preview', ff:['EMBED','SDK','SNIPPET'], blurb:'Search a handle, chat anyone worldwide. End-to-end, store-and-forward, no server can read it. Drop the bubble on any site.', legal:'E2E · sovereign directory · store-and-forward relay', endpoint:'Fidnt chat embed + relay', curl:`# Drop the chat bubble\n`, js:`
\n` }, { id:'consent', product:'Fidnt', name:'Data Sovereignty & Consent', tier:'T1', status:'live', ff:['API','EMBED'], blurb:'A consent ledger plus a "where your data is used" surface — enforce data-owner rights and equity at the protocol level.', legal:'RA 10173 (Data Privacy) · FPIC consent · ISP rights bindings', endpoint:'POST /v1/consent · /v1/breach', curl:`curl -X POST ${API}/v1/consent \\\n -H "Authorization: Bearer YOUR_API_KEY" \\\n -H "Content-Type: application/json" \\\n -d '{"subject":"user@example.com","scope":"data.share","granted":true}'`, js:`await fetch('${API}/v1/consent', {\n method:'POST',\n headers:{ Authorization:'Bearer YOUR_API_KEY', 'Content-Type':'application/json' },\n body: JSON.stringify({ subject:'user@example.com', scope:'data.share', granted:true })\n});` }, { id:'fidnt-sso', product:'Fidnt', name:'Consumer Sign-In (reseller)', tier:'T0', status:'preview', ff:['SNIPPET','EMBED'], blurb:'The same phishing-resistant sign-in, Fidnt-branded for consumer apps. Identity for all, shipped through the consumer front door.', legal:'WebAuthn · NIST 800-63B · Fidnt charter', endpoint:'Fidnt sign-in embed', curl:``, js:`
\n` }, { id:'push', product:'Fidnt', name:'Private Web Push', tier:'T1', status:'preview', ff:['SDK','API'], blurb:'No-payload web push — the device learns there is a message without the server ever seeing its contents.', legal:'No-payload privacy · VAPID', endpoint:'Fidnt push API', curl:`# Subscribe a device, then trigger a no-payload nudge\ncurl -X POST https://fidnt.com/api/push/send -d '{"fid":"fid_123"}'`, js:`await navigator.serviceWorker.ready;\n// register with Fidnt VAPID public key, then notify by fID` }, /* ── Wizdom ── */ { id:'wiz-cloud', product:'Wizdom', name:'Personal Decentralized Cloud', tier:'T1', status:'soon', ff:['API','SDK'], blurb:'Sovereign personal storage, Fidnt-secured. Your files, your keys, your jurisdiction — addressable from your apps.', legal:'Fidnt-secured · client-side keys', endpoint:'Wizdom storage API (roadmap)', curl:`# Coming soon — request early access from the Wizdom console.`, js:`// Sovereign object storage SDK (roadmap)` }, { id:'wiz-compute', product:'Wizdom', name:'Idle Compute Rental', tier:'T2', status:'soon', ff:['API'], blurb:'Rent or lease spare compute through a sovereign marketplace, Fidnt-secured end to end. Monetise idle GPUs.', legal:'Fidnt-secured marketplace', endpoint:'Wizdom compute marketplace (roadmap)', curl:`# Coming soon — join the compute marketplace waitlist.`, js:`// Compute rental SDK (roadmap)` }, { id:'wiz-chat', product:'Wizdom', name:'AI Chat', tier:'T0', status:'preview', ff:['EMBED','API'], blurb:'A Claude-like assistant with a health-aware multi-model router. Embed it, or call the chat API with failover built in.', legal:'Health-aware routing · multi-provider', endpoint:'Wizdom chat API', curl:`# Embed the assistant\n`, js:`// Or call the routed chat endpoint with automatic failover` }, /* ── IM Elite ── */ { id:'imelite', product:'IM Elite', name:'ERP + CRM Suite', tier:'T3', status:'preview', ff:['API','PLUGIN'], blurb:'A white-label, multi-tenant ERP + CRM — 14 modules from POS to HR to MRP to eCommerce — Fidnt-secured per tenant.', legal:'Multi-tenant isolation · Fidnt-secured', endpoint:'IM Elite tenant API', curl:`# Provision a tenant, then call module APIs scoped by tenant.`, js:`// withTenant() scopes every call; pull one module standalone\n// (POS, HR, MRP, eCommerce) or run the full suite.` }, /* ── Wider estate ── */ { id:'protocore', product:'ProtoCore', name:'Agent Trust & Attestation', tier:'T2', status:'preview', ff:['API','MCP','SDK'], blurb:'A post-quantum, verifiable trust layer for AI agents — attest who an agent is and what it is permitted to do before it acts.', legal:'Post-quantum verifiable attestation · clean-room MIT', endpoint:'ProtoCore attestation API', curl:`# Attest an agent identity + capability before granting access.`, js:`// Pairs with Agent Mandate to make agency verifiable end-to-end.` }, { id:'fidth', product:'Fidth', name:'Hardware Root-of-Trust', tier:'T3', status:'soon', ff:['API','SDK'], blurb:'Device-level attestation — a hardware root-of-trust front door so a session can prove the metal it runs on.', legal:'Hardware root-of-trust · device attestation', endpoint:'Fidth device attestation (roadmap)', curl:`# Coming soon — device attestation enrolment.`, js:`// Bind a session to an attested device.` }, { id:'empact', product:'Empact', name:'Sealed Reporting', tier:'T1', status:'preview', ff:['EMBED','API'], blurb:'A drop-in report → corroborate → seal → route flow with a hash-chain seal. Whistleblower-grade integrity for any org.', legal:'Hash-chain seal · anti-tamper routing', endpoint:'Empact sealed-report API', curl:`# Embed the sealed report intake\n`, js:`
\n` }, { id:'isp-law', product:'ISP', name:'Embedded Law / Compliance-as-Code', tier:'T2', status:'preview', ff:['API','SDK'], blurb:'A statute registry with structured law bindings and a validator — query the legal basis behind any code, or validate a payload against it.', legal:'ISP statute registry · machine-readable law bindings', endpoint:'ISP codes registry + validator', curl:`# Every signed response cites isp_code + legal_basis.\n# Query the registry for the binding behind a code.`, js:`// Validate a payload against embedded statutory bindings\n// before you commit a transaction.` }, { id:'search', product:'ISP', name:'Sovereign Search', tier:'T1', status:'soon', ff:['API','MCP'], blurb:'Search across the sovereign estate as a capability — web and local, exposed to apps and to AI agents over MCP.', legal:'Sovereign index', endpoint:'Sovereign search API (roadmap)', curl:`# Coming soon — sovereign search endpoint + MCP connector.`, js:`// Search as a plug, for apps and agents.` }, ]; const BUNDLES = [ { name:'Trust Stack', desc:'The most-wanted combination — everything you need to prove identity, sign, and keep an admissible record. All live today.', items:['Sovereign Sign-In / SSO','Post-Quantum Signing & Verify','Court-Admissible Audit Ledger'], tier:'From T1' }, { name:'Trade-Finance Suite', desc:'Issue, verify and settle transferable e-records end to end, on a registry of record.', items:['Transferable e-Records','Instrument Verify Badge','Anchor & Settle'], tier:'T3' }, { name:'Sovereign Workspace', desc:'A private workspace your users actually own — mail, messaging and storage under one identity.', items:['Sovereign Email for Your Domain','Secured Chat','Personal Decentralized Cloud'], tier:'From T1' }, { name:'Reseller Kit', desc:'Everything a partner needs to resell the estate under their own brand, with usage rolled up to your handle.', items:['White-Label & Reseller','Cross-Provider Entitlements','Sovereign Sign-In / SSO'], tier:'Partner' }, { name:'Agent Trust Pack', desc:'Make AI agency verifiable — attest the agent, mandate its authority, and connect it over MCP.', items:['Agent Trust & Attestation','Agent Mandate (AI Agency)','Email MCP Connector'], tier:'T2' }, { name:'Privacy & Rights', desc:'Give data owners real control — consent, sealed reporting, and private notification with no server-side reading.', items:['Data Sovereignty & Consent','Sealed Reporting','Private Web Push'], tier:'From T1' }, ]; /* ── Render catalog ── */ const PRODUCTS = [...new Set(CAPS.map(c => c.product))]; let activeProduct = 'All', activeFF = 'All'; function buildFilters() { const el = document.getElementById('filters'); const ffs = ['All','SNIPPET','EMBED','SDK','API','PLUGIN','MCP']; let html = 'Product'; html += chip('All', activeProduct==='All', `setProduct('All')`); PRODUCTS.forEach(p => html += chip(p, activeProduct===p, `setProduct('${p.replace(/'/g,"\\'")}')`)); html += 'Form'; ffs.forEach(f => html += chip(f==='All'?'All':f, activeFF===f, `setFF('${f}')`)); el.innerHTML = html; } function chip(label, active, onclick) { return ``; } function setProduct(p){ activeProduct=p; buildFilters(); renderGrid(); } function setFF(f){ activeFF=f; buildFilters(); renderGrid(); } function renderGrid() { const grid = document.getElementById('grid'); const list = CAPS.filter(c => (activeProduct==='All' || c.product===activeProduct) && (activeFF==='All' || c.ff.includes(activeFF))); grid.innerHTML = list.map(c => `
${c.product} ${c.status}

${c.name}

${c.blurb}

${c.ff.map(f=>`${f}`).join('')}
${c.tier}
`).join(''); } function renderBundles() { document.getElementById('bundle-grid').innerHTML = BUNDLES.map(b => `

${b.name}

${b.desc}

${b.tier} Get this bundle
`).join(''); } /* ── Drawer ── */ let drawerSnippetLang = 'curl'; function openDrawer(id) { const c = CAPS.find(x => x.id===id); if(!c) return; drawerSnippetLang = 'curl'; const d = document.getElementById('drawer'); d.innerHTML = drawerHtml(c); document.getElementById('scrim').classList.add('open'); d.classList.add('open'); d.setAttribute('aria-hidden','false'); injectKeyIntoSnippets(); } function drawerHtml(c) { return `
${c.product} · ${c.status}

${c.name}

${c.blurb}

Tier${c.tier}
Form factors${c.ff.join(' · ')}
Endpoint${c.endpoint}
Drop it in
${escapeHtml(c.curl)}
Legal basis
Get your key Full docs
`; } function switchLang(btn, lang, id) { drawerSnippetLang = lang; document.querySelectorAll('.tab').forEach(t=>t.classList.remove('active')); btn.classList.add('active'); const c = CAPS.find(x=>x.id===id); document.getElementById('code-out').textContent = c[lang]; injectKeyIntoSnippets(); } function closeDrawer() { document.getElementById('scrim').classList.remove('open'); const d = document.getElementById('drawer'); d.classList.remove('open'); d.setAttribute('aria-hidden','true'); } document.addEventListener('keydown', e => { if(e.key==='Escape') closeDrawer(); }); function escapeHtml(s){ return s.replace(/&/g,'&').replace(//g,'>'); } function copyCode(btn){ const t = btn.parentElement.querySelector('pre').textContent; navigator.clipboard.writeText(t).then(()=>{ btn.textContent='Copied'; setTimeout(()=>btn.textContent='Copy',1500); }); } /* ── Self-serve console (reuses live operator endpoints) ── */ let LIVE_KEY = null; const CAP_BYTIER = { starter: 1000, scale: 30000, enterprise: Infinity }; function toast(msg){ const t=document.getElementById('toast'); t.textContent=msg; t.classList.add('show'); setTimeout(()=>t.classList.remove('show'),1800); } function copyKey(){ if(LIVE_KEY){ navigator.clipboard.writeText(LIVE_KEY); toast('Key copied'); } } function injectKeyIntoSnippets(){ if(!LIVE_KEY) return; const pre = document.getElementById('code-out'); if(pre) pre.textContent = pre.textContent.replace(/YOUR_API_KEY/g, LIVE_KEY); } async function upgrade(){ try { const r = await fetch(API+'/api/upgrade/checkout', { method:'POST', credentials:'include' }); const d = await r.json(); if(d.ok && d.url) location.href = d.url; else toast('Upgrade unavailable — open the dashboard.'); } catch(_) { toast('Upgrade unavailable — open the dashboard.'); } } async function initConsole(){ let sess = null; try { sess = await (await fetch(API+'/api/session', { credentials:'include' })).json(); } catch(_) {} if(!sess || !sess.email){ return; } // stay anonymous // Signed in — swap UI document.getElementById('console-anon').style.display = 'none'; document.getElementById('console-live').style.display = 'block'; const nav = document.getElementById('nav-auth'); nav.textContent = 'Dashboard'; nav.href = 'https://fiduciary.technology/dashboard'; const [kRes, sRes] = await Promise.allSettled([ fetch(API+'/api/operator/key', { credentials:'include' }), fetch(API+'/api/operator/stats', { credentials:'include' }), ]); let tier = 'starter'; if(kRes.status==='fulfilled' && kRes.value.ok){ const kd = await kRes.value.json(); if(kd.ok && kd.key){ LIVE_KEY = kd.key; tier = kd.tier || tier; document.getElementById('cl-key').textContent = kd.key; } } if(sRes.status==='fulfilled' && sRes.value.ok){ const sd = await sRes.value.json(); if(sd.ok){ tier = sd.tier || tier; const month = sd.calls_month || 0, today = sd.calls_today || 0; const cap = CAP_BYTIER[tier] ?? 1000; document.getElementById('cl-month').textContent = month.toLocaleString(); document.getElementById('cl-today').textContent = today.toLocaleString(); document.getElementById('cl-cap').textContent = cap===Infinity ? '/ unlimited' : '/ '+cap.toLocaleString(); document.getElementById('cl-inst').textContent = sd.institution || sess.institution || ''; const pct = cap===Infinity ? 8 : Math.min(100, Math.round(month/cap*100)); document.getElementById('cl-meter').style.width = pct+'%'; if(cap!==Infinity && pct>85) document.getElementById('cl-meter').style.background='var(--gold)'; } } document.getElementById('cl-tier').textContent = tier; if(tier==='enterprise'){ const u=document.getElementById('cl-upgrade'); u.style.display='none'; } } /* ── Boot ── */ document.getElementById('hm-count').textContent = CAPS.length + '+'; buildFilters(); renderGrid(); renderBundles(); initConsole();