Shadow Mode
Run the full governance pipeline on real agent actions without enforcing decisions. See what GaaS would do before turning it on.
Why Shadow Mode
No governance system should go from zero to enforcement without a trial period. Shadow mode lets you observe the full pipeline — validation, enrichment, policy evaluation, deliberation, and decision assembly — on real traffic, while your agents continue to operate freely.
You get real governance decisions tagged as shadow. You see what would have been blocked, what would have been modified, what would have triggered escalation. You can review, submit feedback, and refine your membrane — all before a single action is actually blocked.
How to Enable
Option 1: Query Parameter
Add ?mode=shadow to any intent submission:
Submit an intent for shadow evaluation — full pipeline, no enforcement
The intent is processed through the full 5-stage pipeline. The response is identical to a live decision — same verdict, same risk assessment, same reasoning — but the pipeline_mode field is set to shadow and no enforcement occurs.
Option 2: Membrane Lifecycle
When you onboard via the quickstart endpoint, your membrane starts in SHADOW mode automatically. All intents evaluated against that membrane run through shadow mode by default until you explicitly activate live mode.
?mode=shadow query parameter, regardless of the membrane's state. This means you can run shadow on some intents while others go through live evaluation.
Membrane Lifecycle
The membrane moves through three defined states:
DRAFT
Membrane is being generated. Not yet evaluating intents.
SHADOW
Full pipeline evaluation on real traffic. Decisions are logged but not enforced. This is the default after quickstart onboarding.
LIVE
Governance decisions are enforced. Agents must act on verdicts.
What Happens Differently
| Behavior | Live | Shadow |
|---|---|---|
| Full pipeline evaluation | Yes | Yes |
| Decision returned to caller | Enforced | Informational |
| Escalations created | Yes | No |
| Learning observations | Tagged live |
Tagged shadow |
| Dashboard live metrics | Included | Excluded |
| Shadow stats updated | No | Yes |
| Audit trail recorded | Yes | Yes |
| Response pipeline_mode | live |
shadow |
Monitoring Shadow Decisions
Decision Stream
The conversational dashboard supports filtering the decision stream by pipeline mode. Ask:
"Show me shadow decisions from the last 7 days"
Or query the API directly:
Shadow Stats
Each membrane tracks aggregate shadow statistics: total shadow decisions, verdict distribution, average risk score, contradiction rate, and policy coverage.
Aggregate shadow mode statistics for a membrane
Submitting Feedback
While reviewing shadow decisions, flag false positives or false negatives. The learning engine uses this feedback to refine your membrane before you go live.
Transitioning to Live
Review Shadow Data
Focus on:
- Decisions that would have blocked legitimate actions (false positives)
- Decisions that approved actions you would have wanted blocked (false negatives)
- Escalation triggers that seem too sensitive or not sensitive enough
Submit Feedback
Mark incorrect decisions through the dashboard or the learning API. The learning engine factors this into calibration.
Activate
When confident, switch to live mode:
POST /v1/membranes/{membrane_id}/activate
{
"activation": {
"mode": "live"
}
}
Related Pages
- Getting Started — the full three-step quickstart
- Onboarding — membrane generation and lifecycle details
- Conversational Dashboard — monitor shadow decisions through the conversational interface