{"id":313,"date":"2026-03-03T06:38:27","date_gmt":"2026-03-03T06:38:27","guid":{"rendered":"https:\/\/base76.se\/?p=313"},"modified":"2026-03-03T06:38:28","modified_gmt":"2026-03-03T06:38:28","slug":"trustplane-our-latest-safety-product-for-ai","status":"publish","type":"post","link":"https:\/\/base76.se\/en\/trustplane-our-latest-safety-product-for-ai\/","title":{"rendered":"TrustPlane &#8211; our latest safety product for AI"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"http:\/\/base76.se\/wp-content\/uploads\/2026\/03\/trustplane-1024x683.png\" alt=\"\" class=\"wp-image-310\" srcset=\"https:\/\/base76.se\/wp-content\/uploads\/2026\/03\/trustplane-1024x683.png 1024w, https:\/\/base76.se\/wp-content\/uploads\/2026\/03\/trustplane-300x200.png 300w, https:\/\/base76.se\/wp-content\/uploads\/2026\/03\/trustplane-768x512.png 768w, https:\/\/base76.se\/wp-content\/uploads\/2026\/03\/trustplane-18x12.png 18w, https:\/\/base76.se\/wp-content\/uploads\/2026\/03\/trustplane.png 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<h2 class=\"wp-block-heading\">Every unverified AI response in production is an undocumented decision<\/h2>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">There is no entry in your log showing what the model was asked. No entry showing how confident it was. No entry showing whether anyone reviewed the response before it reached your user.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In most industries, that is acceptable. In healthcare, legal, finance, and public sector, it is a liability problem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>We built TrustPlane to solve it.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is epistemic uncertainty \u2014 and why does it matter?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A language model does not know what it does not know. It can produce an answer that sounds well-calibrated even when operating far outside its training distribution. This is called<br>epistemic uncertainty \u2014 the reducible component of uncertainty, the part that can in principle be addressed by human review.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">TrustPlane&#8217;s scoring formula separates it from aleatoric uncertainty \u2014 the irreducible noise that not even a human expert can eliminate:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C = p \u00d7 (1 \u2212 Ue \u2212 Ua)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C \u2014 trust score \u2208 [0, 1]<br>p \u2014 prior confidence for this request type<br>Ue \u2014 epistemic uncertainty (what the model does not know)<br>Ua \u2014 aleatoric uncertainty (irreducible noise in the domain)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When C drops below your threshold, something concrete happens: a webhook fires to your review system before the response reaches the user. That is EU AI Act Article 14 \u2014 human oversight \u2014<br>implemented as infrastructure rather than policy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Why air-gap solves the immutability requirement<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A common objection to audit trails in AI systems: &#8220;PostgreSQL is not immutable by default.&#8221; That is technically correct. But it is the wrong question.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In an air-gapped deployment \u2014 a hospital, a government agency, a defense application \u2014 network isolation is the primary security control. No external process can reach the database. This<br>is exactly the integrity model used in defense, in classified systems, and in critical national infrastructure worldwide.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">EU AI Act Article 12 requires reliable record-keeping. It does not require a specific cryptographic implementation. A physically isolated PostgreSQL instance in an air-gapped data center<br>satisfies that requirement \u2014 and in many cases more robustly than a cryptographic append-only layer in a cloud system with 40 external dependencies.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For deployments requiring additional guarantees, WAL archiving to write-once storage is available as a layer above TrustPlane.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is implemented \u2014 and what is on the roadmap<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Transparency about implementation status is a prerequisite for a trust-scoring system.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fully implemented today:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Four-outcome policy: PASS \/ REFINE \/ ESCALATE \/ BLOCK<\/li>\n\n\n\n<li>Trace logging with trace ID, decision, trust score, policy, model, timestamp<\/li>\n\n\n\n<li>Audit export: CSV and PDF (EU AI Act Article 13 format)<\/li>\n\n\n\n<li>Webhook dispatch with exponential backoff<\/li>\n\n\n\n<li>Multi-tenant PostgreSQL isolation<\/li>\n\n\n\n<li>Provider routing: Ollama, OpenAI, Anthropic, Groq, Cerebras<\/li>\n\n\n\n<li>RBAC: admin \/ operator \/ auditor \/ viewer<\/li>\n\n\n\n<li>Rate limiting: Redis token bucket per tenant On the roadmap:<\/li>\n\n\n\n<li>Domain-specific calibration of prior confidence p<\/li>\n\n\n\n<li>Dynamic per-request Ue\/Ua extraction via token log-probabilities<\/li>\n\n\n\n<li>Native cryptographic append-only attestation Three deployment contexts Clinical documentation (healthcare)<br>target_risk: 0.05. Every clinical note scored before EHR entry. Ambiguous inputs escalated to physician review. Ollama on-premise \u2014 no patient data leaves the hospital network. Contract analysis (legal)<br>target_risk: 0.15. Complex jurisdiction clauses return REFINE. Novel instruments trigger ESCALATE to partner review queue. Seven-year audit retention. Sovereign deployment (public sector)<br>target_risk: 0.10. Air-gapped, national data sovereignty, Ollama local. Full EU AI Act + NIS2 compliance mapping. The OSS core The scoring engine is open source: cognos-proof-engine (MIT). The formula, threshold model, and policy engine are all inspectable and falsifiable. TrustPlane is the enterprise layer on top: multi-tenancy, auth, webhooks, compliance export, and commercial support. \u2192 <a href=\"https:\/\/github.com\/base76-research-lab\/TrustPlane\">github.com\/base76-research-lab\/TrustPlane<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Every unverified AI response in production is an undocumented decision There is no entry in your log showing what the model was asked. No entry showing how confident it was. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"give_campaign_id":0,"inline_featured_image":false,"_EventAllDay":false,"_EventTimezone":"","_EventStartDate":"","_EventEndDate":"","_EventStartDateUTC":"","_EventEndDateUTC":"","_EventShowMap":false,"_EventShowMapLink":false,"_EventURL":"","_EventCost":"","_EventCostDescription":"","_EventCurrencySymbol":"","_EventCurrencyCode":"","_EventCurrencyPosition":"","_EventDateTimeSeparator":"","_EventTimeRangeSeparator":"","_EventOrganizerID":[],"_EventVenueID":[],"_OrganizerEmail":"","_OrganizerPhone":"","_OrganizerWebsite":"","_VenueAddress":"","_VenueCity":"","_VenueCountry":"","_VenueProvince":"","_VenueState":"","_VenueZip":"","_VenuePhone":"","_VenueURL":"","_VenueStateProvince":"","_VenueLat":"","_VenueLng":"","_VenueShowMap":false,"_VenueShowMapLink":false,"footnotes":""},"categories":[24],"tags":[18,12,23,22,21],"class_list":["post-313","post","type-post","status-publish","format-standard","hentry","category-ai-governance","tag-ai","tag-ai-governance","tag-ai-safety","tag-trsutplane","tag-trust"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/base76.se\/en\/wp-json\/wp\/v2\/posts\/313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/base76.se\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/base76.se\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/base76.se\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/base76.se\/en\/wp-json\/wp\/v2\/comments?post=313"}],"version-history":[{"count":1,"href":"https:\/\/base76.se\/en\/wp-json\/wp\/v2\/posts\/313\/revisions"}],"predecessor-version":[{"id":314,"href":"https:\/\/base76.se\/en\/wp-json\/wp\/v2\/posts\/313\/revisions\/314"}],"wp:attachment":[{"href":"https:\/\/base76.se\/en\/wp-json\/wp\/v2\/media?parent=313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/base76.se\/en\/wp-json\/wp\/v2\/categories?post=313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/base76.se\/en\/wp-json\/wp\/v2\/tags?post=313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}