consensus-permission-escalation-guard
consensus-permission-escalation-guard is the final safety gate before privilege elevation is applied.
What this skill does
- validates escalation requests against a strict input schema (reject unknown fields)
- evaluates hard-block and rewrite policy flags for IAM risk patterns
- runs persona-weighted voting (or aggregates external votes)
- returns one of:
ALLOW | BLOCK | REQUIRE_REWRITE - writes decision artifacts for replay/audit
Decision policy shape
Hard-block examples:
- wildcard permissions (
*,: *, broad owner/admin jumps) - missing ticket reference when required
- break-glass escalation without incident reference
- separation-of-duties conflicts (e.g., create + approve authority)
Rewrite examples:
- weak or non-actionable justification
- temporary duration exceeds policy limit
- production escalation requires explicit human confirmation gate
Runtime and safety model
- runtime binaries:
node,tsx - network behavior: none in deterministic guard logic
- environment config read by this package:
CONSENSUS_STATE_FILE,CONSENSUS_STATE_ROOT - filesystem writes: consensus board/state artifacts under configured state path
Invoke contract
invoke(input, opts?) -> Promise<OutputJson | ErrorJson>
Modes:
mode="persona"(default): uses local deterministic persona defaults for internal votingmode="external_agent": consumeexternal_votes[], then aggregate and enforce policy deterministically
Install
npm i consensus-permission-escalation-guard
Quick start
node --import tsx run.js --input ./examples/input.json
Tests
npm test
Test coverage includes schema rejection, hard-block paths, rewrite paths, allow paths, idempotent retries, and external-agent aggregation behavior.
Note: this skill depends on consensus-guard-core for aggregation/state helpers; review that package alongside this one for full runtime auditability.
See also: SECURITY-ASSURANCE.md for threat model, runtime boundaries, and deployment hardening guidance.