Operating Modes
VerifiedAXIS_OPERATING_MODE
AXIS supports four deterministic operating modes, selected with AXIS_OPERATING_MODE. Modes change how decisions are applied; classification and policy evaluation behave identically in all modes.
Mode reference
| Mode | Behavior | Side effects | Risk |
|---|---|---|---|
shadow | Evaluates policy and records what would happen — protected writes always proceed to PostgreSQL. | Writes execute; no blocking, no approvals; decision evidence recorded | Lowest operational risk; policy not actually enforced |
approval_first | Enforces blocking and approval decisions; allowed writes still proceed to PostgreSQL. | Writes execute when allowed; approvals created for REQUIRE_APPROVAL | Medium; partial enforcement |
enforce | Full enforcement: every decision outcome is applied, including blocking and execution for allowed writes. | Blocked writes never reach PostgreSQL; allowed writes execute | Highest; the mode required for true protection |
emergency_bypass | Explicit emergency mode: bypasses enforcement and logs the bypass; protected writes proceed. | Writes execute; bypass events recorded with reason code | Severe; documented and time-limited by policy. "AXIS does not support silent emergency bypass." |
Decision application by mode
| Decision | shadow | approval_first | enforce | emergency_bypass |
|---|---|---|---|---|
ALLOW | execute | execute | execute | execute |
BLOCK | execute (logged) | blocked | blocked | execute (bypass logged) |
REQUIRE_APPROVAL | execute (logged) | approval workflow | approval workflow | execute (bypass logged) |
How policy decides per mode
- shadow: policy is evaluated, but every decision is treated as
ALLOWfor enforcement; decisions and fingerprints are still recorded as evidence. - approval_first:
BLOCKis enforced;REQUIRE_APPROVALenters the approval flow. - enforce: policy decisions are applied with no permissive override.
- emergency_bypass: explicit bypass; the emergency key must be recognized; bypass events are recorded with a reason code and are visible in audit and logs. "AXIS does not support silent emergency bypass."
Selection and rollout
Adoption path: shadow → approval_first → enforce. In shadow, every write that policy would have blocked still executes — run shadow only where you can tolerate the writes.
AXIS does not auto-switch modes at runtime. Emergency bypass requires explicit configuration and emits unmistakable evidence; treat it as an exception, not a habit.
Verification expectations
| Mode | What to verify |
|---|---|
| shadow | Policy decisions recorded; writes executed; no approvals created |
| approval_first | Blocked writes rejected with 403; approvals created and resolvable |
| enforce | Decision exactly applied; blocked writes never reach PostgreSQL |
| emergency_bypass | Bypass events present in audit with reason; key required |
Related: Configuration · Policy Engine · Security Model