Synthetic walkthrough | AI liability controls

A $480k retirement question. The model could not authorize its own answer.

A scripted request asks whether to move a $480k retirement balance into one crypto token. ForenChain withholds a specific recommendation through a deterministic policy gate, releases general information, and records why.

Watch the narrated walkthrough. Every request and record shown is synthetic.

28/28

Expected actions matched

Fixed synthetic labeled set

18/18

In-coverage high-risk cases transformed or blocked

Same fixed synthetic set

2/2

Out-of-coverage cases sent to human review

Same fixed synthetic set

These are local rule-set regression results, not real-world accuracy, deployment performance, or a legal conclusion.

The review problem

The question arrives after the answer leaves

A customer-facing AI response may be challenged long after it was sent. An output-only log shows the text, but not which control assessed the request, why release was allowed, or whether the retained decision record changed.

ForenChain separates advisory classification from authorization, preserves the policy decision with the response, and exposes the limits of its local evidence record.

A policy gate between advice and release

The synthetic retirement request makes the boundary visible.

Classify

An advisory signal

The classifier proposes an intent, risk tier, and confidence. Raw-input checks independently look for hard signals under the loaded representative policy packs.

Authorize

A deterministic action

The financial guidance pack returns TRANSFORM. Code withholds a specific allocation recommendation and substitutes general information. The classifier cannot authorize release on its own.

Record

A checkable decision

The action and policy are appended to a local SQLite ledger. Each SHA-256 record hash incorporates the previous hash and canonical record fields.

One synthetic scenario · two decision records

Follow a release. Then test the ledger.

The first two frames show a local synthetic decision #7 and its evidence drawer. The third tests a separate seeded record #3 for the same scripted retirement request. It does not alter decision #7.

01 / Release

The specific advice does not leave

The financial policy pack returns TRANSFORM. Code substitutes general information and a disclaimer before the response is released.

The trace makes classification, policy, authorization and commitment visible.

ForenChain screen showing the synthetic retirement request transformed into general information, with a completed classification, policy, authorization, and ledger trace
Open full-size frame to read the response and trace

02 / Evidence

The authorization is inspectable

The decision drawer links the scripted request to its transformed action and applied control. It offers technical facts for review, not a legal finding.

A later reviewer can examine the route that produced the released text.

ForenChain technical-evidence drawer showing the transformed action and details of the synthetic financial request
Open full-size frame to inspect the decision details

03 / Alteration check

The old action is changed

A simulated edit flips seeded record #3 from TRANSFORM to ALLOW without recomputing its hash. The local verifier points to that first broken link.

This detects the shown local edit; independent custody remains separate work.

ForenChain local evidence ledger highlighting record number 3 and displaying an alteration-detected badge after a simulated edit
Open full-size frame to inspect the broken-link indicator

Four release routes, one authority boundary

The configured gate, rather than the advisory classifier, chooses among these actions for the synthetic requests shown.

Action Demonstrated route
ALLOW A general request with no high-risk signal may be released.
TRANSFORM The retirement-allocation request receives general information instead of a specific recommendation.
BLOCK The personal-address request is withheld under the loaded personal-data pack.
HUMAN_REVIEW The medication request exposes an unloaded policy area and records an escalation decision.

What this demo does not do: It does not run against a customer system, establish independent evidence custody, or determine a legal outcome.

Questions a review team will ask

Can the model release a risky answer if it labels the request as harmless?

In this demonstration, the classifier advises but does not authorize release. Plain-code checks examine raw-input signals against the loaded representative policy packs, and the deterministic gate sets the final action. This is a bounded control for the shown packs, not a guarantee that every risky request will be detected.

What is recorded when the gate transforms an answer?

The local ledger stores the request, classification, matched control, release action, and response in a hash-linked decision record. In the synthetic retirement example, the financial guidance pack returns TRANSFORM and the released text contains general information rather than a specific allocation recommendation. The record helps a reviewer reconstruct the demonstrated decision path.

Can the hash chain prove that the evidence has never been changed?

No. The local verifier detects the demonstrated edit to record #3 and identifies the first broken link. It does not establish independent custody, prevent wholesale database replacement, or prove legal authenticity by itself.

Is the exported evidence package ready for a legal proceeding?

No. The HTML export is a technical-evidence scaffold with decision rows, a hash-chain manifest, and a Reasonable Alternative Design argument scaffold. Counsel must assess preservation, authenticity, legal theories, and admissibility; the demonstration does not decide those questions.

What happens when a request falls outside the loaded policies?

A recognized topic without a loaded policy pack routes to HUMAN_REVIEW in this demonstration. The synthetic medication example exposes that coverage gap and records the escalation. It does not contact a clinician or provide medical guidance.

Does 28/28 mean the gate is accurate in production?

No. A local regression run matched expected actions for 28 of 28 fixed, synthetic labeled cases; all 18 in-coverage high-risk cases were transformed or blocked, and both out-of-coverage cases went to human review. Those counts describe the fixed set and do not establish open-world detection, deployment performance, or legal compliance.

Technical Research

Explore related research for broader context on this demonstration.

Examine the release decision before scaling the workflow

The useful conversation starts with one request, one policy, and the record a reviewer can inspect.

We can compare the demonstrated control path with your actual policy coverage, review workflow, and evidence-custody requirements. Those production questions remain open in this local demonstration.

Control review

  • ✓ Map high-risk request categories
  • ✓ Identify missing policy coverage
  • ✓ Define release and escalation decisions
  • ✓ Review the records counsel needs

Architecture discussion

  • ✓ Place authorization outside the model
  • ✓ Scope policy-pack ownership
  • ✓ Plan human-review routing
  • ✓ Specify custody and retention controls