Skip to main content
Jira progress: loading…

TG-DECISION

TrustGate Decision Engine

0. Identity

Loading identity…

Depends on module:

Decision-grade verification and assurance domain that orchestrates verifier workflows, evidence handling, trust scoring, audit trails, and assurance packaging across CSRD/ESRS and other frameworks. Enables third-party sign-off, dispute handling, and assurance-ready disclosure outputs with replayable provenance.
Domain:
assurance-verification
Category:
trust-assurance
Classification:
module
Lifecycle status:
active
Semver:
1.0.0
Introduced in:
v0.3
Governance
AI risk level:
high
Trust threshold:
0.97
Human review required:
true
Verifier involved:
true
Audit required:
true
Ownership
Primary owner:
Platform
Architecture board:
true
White-label allowed:
true
Entrypoints
Docs:
/verification-assurance
UI:
/app/assurance
API:
/api/assurance
Dependencies
Modules
  • sis
  • input-hub
  • reports-insights-hub
  • zara
  • zaam
Unresolved tokens
  • ALTD
  • DAL
  • EvidenceVault
  • StripeConnect
  • TruliooKYB
  • TrustGate
  • VTE
  • VerifierWorkflowEngine
Engines (declared)
  • VerifierWorkflowEngine
  • DaVE
  • VTE
  • DICE
  • EvidenceVault
  • ALTD
  • DAL
  • TrustGate
  • StripeConnect
  • TruliooKYB
  • AISIM
Micro-engines (from registry)
None
Micro-engines (declared)
None
Signals
USO
  • ASSURANCE.VERIFICATION
  • ASSURANCE.EVIDENCE
  • ASSURANCE.SIGNOFF
  • AUDIT.LINEAGE
  • GOVERNANCE.TRUST
  • IDENTITY.VERIFIER
  • PAYMENT.ESCROW
CSI
  • CSI_VERIFICATION_ASSURANCE
SSSR tags
  • assurance
  • verification
  • verifiers
  • evidence
  • signoff
  • trust-score
  • audit
  • tamper-detection
  • blockchain
  • rfp
  • disputes
  • escrow
  • stripe-connect
Workflows & Outputs
Workflows
  • VerifierOnboardingAndQualification
  • AssuranceRFPAndProposalFlow
  • EvidenceRequestAndCollection
  • EvidenceValidationAndScoring
  • TrustScoreComputationAndPropagation
  • VerifierReviewAndCommenting
  • IssueFlaggingAndDisputeResolution
  • VerifierSignOffAndStamping
  • AssurancePackagingForReports
  • PaymentEscrowAndPayoutOrchestration
Outputs
  • verifier_profiles
  • assurance_requests
  • evidence_packages
  • validation_findings
  • trust_score_updates
  • signoff_stamps
  • assurance_ready_disclosure_packages
  • payment_events
Audit
Ledger:
ALTD
Replay supported:
true
PII policy:
controlled_pii_outside_omr
Tags

1. Purpose

The TrustGate Decision Engine converts TrustGate scoring outputs, validation outcomes, policy context, rule results, federation evidence, and replay metadata into a deterministic operational decision.

It is responsible for deciding whether a processed signal should be accepted, routed to the next processing stage, sent to human review, escalated, quarantined, rejected, or aborted due to unsafe runtime conditions.

The Decision Engine does not compute the trust score. It consumes the output of the Trust Scoring Engine and applies policy-defined decision thresholds and routing rules.


2. Position within TrustGate Runtime

Signal Parser


Structure Validation


Signal Normalizer


Context Enrichment


Rule Evaluation


Policy Resolution


Trust Scoring


──────────────────────────────────────────
Decision Engine
──────────────────────────────────────────

├── Accept
├── Route
├── Human Review
├── Escalate
├── Quarantine
└── Reject

The Decision Engine must execute after the Trust Scoring Engine and before final DAL anchoring, external attestation, federation export, or downstream sustainability calculation.


3. Canonical Identity

PropertyValue
MEIDMEID_TRUST_ROUTE_DECISION
CMIvera.TG-DECISION.ENGINE.ROUTER.1_0_0
KINDENGINE
Owner ModuleVerification & Assurance
Runtime TierTier-0 Assurance Runtime
Engine CategoryROUTE
Engine Domaintrust
ZAR RegistrationRequired
Replay SupportNative
DAL AnchoringRequired
Federation AwareYes

4. Runtime Responsibilities

ResponsibilityDescription
Threshold EvaluationCompare trust score and confidence against active decision thresholds.
Policy EnforcementApply FAGF and tenant-specific decision policies.
Rule Outcome EnforcementConvert blocking rule failures into reject, abort, or quarantine decisions.
Replay TriggeringTrigger replay when score confidence, variance, or policy conditions require verification.
Quarantine RoutingIdentify low-trust or policy-violating records for quarantine.
Review RoutingSend ambiguous or medium-confidence cases to human review.
EscalationEscalate critical issues to assurance, governance, or security teams.
ZSSR Routing HintsProduce downstream routing hints for the Smart Signal Router.
Audit EvidenceEmit deterministic decision events and DAL anchor candidates.
AI FeedbackEmit outcome telemetry to DSAIL for threshold and routing optimization.

The Decision Engine must be deterministic. Identical inputs, policies, and versions must produce identical decisions.


5. Decision Outcomes

OutcomeMeaningTypical Next Step
ACCEPTSignal is trusted enough for automated progression.Continue downstream processing.
ROUTESignal is accepted but requires specific downstream routing.Send routing hint to ZSSR.
REVIEWSignal requires human review.Create review task.
ESCALATESignal triggers governance, security, or assurance escalation.Notify responsible board/team.
QUARANTINESignal is isolated pending investigation or evidence remediation.Create quarantine record.
REJECTSignal is invalid or non-compliant and must not proceed.Terminate processing.
ABORTRuntime failure prevents safe decision.Stop pipeline and raise incident.

ABORT is reserved for runtime or policy failures, not normal business outcomes.


6. Decision Model

The generic decision function is:

D=f(T,C,P,R,V,F)D = f(T, C, P, R, V, F)

Where:

VariableMeaning
$T$Trust score
$C$Confidence score
$P$Active policy context
$R$Rule evaluation outcome
$V$Validation outcome
$F$Federation and replay factors

The engine evaluates these variables in strict order:

  1. blocking runtime failures;
  2. mandatory policy conditions;
  3. critical validation failures;
  4. blocking rule outcomes;
  5. trust score thresholds;
  6. confidence thresholds;
  7. replay requirements;
  8. federation requirements;
  9. routing preferences.

Blocking conditions always override numerical thresholds.


7. Threshold Model

trustgate:
decision_profile_ref: <governed-policy-reference>
threshold_policy_ref: <governed-policy-reference>
resolved_via: comp.TG.INPUT.POLICY-CONTEXT.v1_0

Thresholds, blocking conditions, and routing exits are resolved by the Policy Resolution Engine from governed policy context and must be recorded by reference in every decision event. This engine shall not define numeric thresholds, modifiers, or numeric policy locally.


8. Runtime Processing Pipeline

Receive Score Result


Load Active Decision Policy


Check Blocking Conditions


Evaluate Validation Outcome


Evaluate Rule Outcome


Evaluate Trust Score


Evaluate Confidence


Evaluate Replay Requirement


Evaluate Federation Requirement


Generate Decision


Emit Decision Event

9. Processing Algorithm

function decide(score_result, validation_result, rule_result, policy_context):

decision_policy = load_decision_policy(policy_context)

if runtime_failure_detected():
return ABORT

if identity_invalid(validation_result):
return REJECT

if signature_failed(validation_result):
return REJECT

if has_blocking_rule(rule_result):
return QUARANTINE

if requires_replay(policy_context, score_result):
return REVIEW

if score_result.trust_score >= policy.accept.min_trust_score
and score_result.confidence >= policy.accept.min_confidence:
return ACCEPT

if score_result.trust_score >= policy.route.min_trust_score
and score_result.confidence >= policy.route.min_confidence:
return ROUTE

if score_result.trust_score >= policy.review.min_trust_score:
return REVIEW

if score_result.trust_score < policy.quarantine.max_trust_score:
return QUARANTINE

return ESCALATE

The final default outcome must be conservative. If no safe decision can be derived, the engine must escalate or abort.


10. CSI Contracts

10.1. Input CSIs

CSIRequiredPurpose
comp.TG.INPUT.TRUST-SCORE.v1_0YesTrust score and confidence from the Trust Scoring Engine.
comp.TG.INPUT.VALIDATION-RESULT.v1_0YesValidation status and failure codes.
comp.TG.INPUT.RULE-RESULT.v1_0YesRule evaluation result and severity.
comp.TG.INPUT.POLICY-CONTEXT.v1_0YesActive decision thresholds and governance constraints.
comp.OARM.INPUT.REPLAY-SUMMARY.v1_0NoReplay state and replay requirement context.
comp.AFLE.INPUT.ATTESTATION-SUMMARY.v1_0NoFederation attestation validity.

10.2. Output CSIs

CSIPurpose
comp.TG.OUTPUT.TRUST-DECISION.v1_0Final TrustGate decision.
comp.TG.OUTPUT.ROUTING-HINT.v1_0Routing hint for ZSSR.
comp.TG.OUTPUT.QUARANTINE-CANDIDATE.v1_0Quarantine candidate record.
comp.TG.EVENT.DECISION-ISSUED.v1_0Runtime decision event.
comp.TG.EVENT.ESCALATION-TRIGGERED.v1_0Escalation event.
comp.DSAIL.INPUT.DECISION-FEEDBACK.v1_0AI learning feedback.
comp.AII.INPUT.DECISION-TELEMETRY.v1_0AII decision telemetry.

11. Canonical Input Payload

{
"signal_id": "SIG-2026-00001472",
"eco_number": "ECO-A123",
"score_result": {
"score_id": "TGS-2026-00001472",
"trust_score": 0.914,
"confidence": 0.936,
"classification_hint": "trusted"
},
"validation_result": {
"status": "passed",
"rules_checked": 42,
"rules_failed": 0,
"severity_max": "info"
},
"rule_result": {
"blocking": false,
"warnings": 1,
"critical_failures": 0
},
"policy_context": {
"policy_bundle": "FAGF-2026.2",
"decision_profile": "generic_assurance_decision_v1"
},
"replay": {
"required": false,
"verification_rate": 0.986
},
"federation": {
"attestation_valid": true,
"node_health": "healthy"
}
}

12. Canonical Output Payload

{
"decision_id": "TGD-2026-00001472",
"signal_id": "SIG-2026-00001472",
"eco_number": "ECO-A123",
"engine_cmi": "vera.TG-DECISION.ENGINE.ROUTER.1_0_0",
"meid": "MEID_TRUST_ROUTE_DECISION",
"decision": "ACCEPT",
"decision_reason": "trust_score_and_confidence_above_accept_threshold",
"trust_score": 0.914,
"confidence": 0.936,
"routing_hint": {
"target": "ZSSR",
"route": "standard_assurance_processing",
"priority": "normal"
},
"policy_context": {
"policy_bundle": "FAGF-2026.2",
"decision_profile": "generic_assurance_decision_v1"
},
"created_at": "2026-06-25T12:12:44Z"
}

13. Decision Event

{
"event_type": "trustgate.decision.issued",
"decision_id": "TGD-2026-00001472",
"signal_id": "SIG-2026-00001472",
"eco_number": "ECO-A123",
"decision": "ACCEPT",
"trust_score": 0.914,
"confidence": 0.936,
"engine_cmi": "vera.TG-DECISION.ENGINE.ROUTER.1_0_0",
"policy_bundle": "FAGF-2026.2",
"timestamp": "2026-06-25T12:12:44Z"
}

14. Quarantine Candidate

When the decision is QUARANTINE, the engine emits a quarantine candidate.

{
"quarantine_id": "TGQ-2026-00001472",
"signal_id": "SIG-2026-00001472",
"eco_number": "ECO-B456",
"reason": "blocking_rule_failure",
"severity": "critical",
"rule_codes": [
"TG-VAL-0008",
"TG-VAL-0010"
],
"required_action": "human_assurance_review",
"created_at": "2026-06-25T12:12:44Z"
}

Quarantine record creation is finalized by the TrustGate Quarantine Manager.


15. Routing Hint

When the decision is ROUTE, the engine emits a routing hint for ZSSR.

{
"routing_hint_id": "TGRH-2026-00001472",
"signal_id": "SIG-2026-00001472",
"target_router": "ZSSR",
"preferred_route": "high_confidence_carbon_processing",
"priority": "normal",
"confidence": 0.936,
"constraints": [
"preserve_dal_anchor",
"retain_replay_artifact"
]
}

The Decision Engine does not directly execute the route. ZSSR remains responsible for final routing orchestration.


16. DAL Integration

The Decision Engine produces DAL anchor candidates for all final decisions.

{
"artifact_type": "TrustDecisionEvent",
"artifact_id": "TGD-2026-00001472",
"artifact_hash": "sha256:2f93ad...",
"engine_cmi": "vera.TG-DECISION.ENGINE.ROUTER.1_0_0",
"meid": "MEID_TRUST_ROUTE_DECISION",
"decision": "ACCEPT",
"created_at": "2026-06-25T12:12:44Z"
}

Final ledger anchoring is performed by the TrustGate DAL Anchor Engine.


17. Replay Behaviour

The engine must be replay deterministic.

Replay inputs include:

  • score result;
  • validation result;
  • rule result;
  • policy context;
  • replay context;
  • federation context;
  • decision policy profile;
  • engine CMI.

Replay verification succeeds when:

Hash(Decisionoriginal)=Hash(Decisionreplay)Hash(Decision_{original}) = Hash(Decision_{replay})

Any mismatch must emit a decision replay drift event.

{
"event_type": "trustgate.decision.replay_drift",
"decision_id": "TGD-2026-00001472",
"original_decision": "ACCEPT",
"replay_decision": "REVIEW",
"severity": "critical",
"timestamp": "2026-06-25T12:20:00Z"
}

18. Federation Behaviour

Decision events may be shared across federation boundaries only when policy permits.

Federated decision exports must include:

FieldRequired
ECO NumberYes
DIDYes
DecisionYes
Trust ScoreYes
ConfidenceYes
Policy BundleYes
Engine CMIYes
DAL ReferenceYes
Replay ReferenceYes

Sensitive rule details may be redacted depending on federation profile.


19. AI Integration

The Decision Engine may consume AI recommendations but must not allow AI to override deterministic policies.

AI may recommend:

  • review prioritization;
  • escalation priority;
  • replay frequency;
  • routing optimization;
  • threshold tuning for future policy review.

AI may not directly change:

  • final decision;
  • blocking rule outcome;
  • policy thresholds;
  • identity validity;
  • signature validity.

AI influence must be logged as advisory metadata only.


20. AII Integration

Decision outcomes contribute to AII metrics.

{
"eco_number": "ECO-A123",
"period": "2026-Q2",
"decision_counts": {
"accept": 9823,
"route": 884,
"review": 211,
"quarantine": 38,
"reject": 6
},
"auto_accept_ratio": 0.897,
"review_rate": 0.019,
"quarantine_rate": 0.0035,
"decision_replay_drift_rate": 0.0001
}

21. Failure Handling

FailureSeverityAction
Missing score resultCriticalAbort
Missing policy contextCriticalAbort
Invalid decision profileCriticalAbort
Blocking validation failureCriticalReject or quarantine
Invalid identityCriticalReject
Signature failureCriticalReject
Missing replay contextWarningContinue if policy permits
Missing federation contextWarningContinue if policy permits
AI unavailableInfoContinue
Decision replay mismatchCriticalEscalate

22. Observability Metrics

MetricDescription
tg_decision_totalTotal decisions issued.
tg_decision_accept_totalAccepted signals.
tg_decision_review_totalHuman review cases.
tg_decision_quarantine_totalQuarantined signals.
tg_decision_reject_totalRejected signals.
tg_decision_latency_msDecision execution latency.
tg_decision_replay_drift_totalDecision replay drift events.
tg_decision_policy_abort_totalPolicy-related abort events.

23. Performance Targets

MetricTarget
Average latency< 20 ms
P95 latency< 50 ms
P99 latency< 100 ms
Throughput20,000 decisions/sec per worker pool
Replay determinism100%
Availability99.99%

24. Security Requirements

The engine must:

  • accept only authenticated internal runtime requests;
  • verify policy context integrity;
  • verify score result provenance;
  • preserve full audit trails;
  • prevent manual bypass of blocking rules;
  • redact sensitive failure details in federated exports;
  • emit immutable decision events;
  • require DAL anchoring before external attestation;
  • record MEID and CMI in every output.

25. Compliance Alignment

FrameworkDecision Engine Contribution
CSRDEnsures controlled decisioning for sustainability data acceptance.
ESRSSupports auditable treatment of uncertain or low-quality data.
ISSB / IFRS S1-S2Supports investor-grade data control workflows.
ISO 14064-1Supports verification workflow controls.
ISO 27001Supports controlled processing and audit evidence.
EU AI ActPrevents AI from autonomously overriding governance decisions.

26. Summary

The TrustGate Decision Engine converts trust scores and assurance evidence into deterministic operational outcomes.

It is responsible for controlled acceptance, routing, review, quarantine, rejection, and escalation of TrustGate signals.

No downstream TrustGate processing, DAL anchoring, federation attestation, or regulatory disclosure pipeline should proceed without a valid decision event from this engine.




GitHub RepoRequest for Change (RFC)