Deny Without Disabling: Authorization-Paired Evaluation and Control for Multi-Agent Systems
Organizations: Tulane University · University of British Columbia · Independent Researcher · Virginia Tech
Abstract
Multi-agent systems derive their capabilities from sharing evidence, delegating tasks, and combining information across agents. The same process creates a safety problem: contributions that are admissible in isolation can jointly enable a prohibited use. Blocking every sensitive action avoids disclosure but defeats the purpose of collaboration. We introduce authorization-paired evaluation, which makes blocking prohibited uses and completing required authorized uses a joint success criterion, and FlowReview, a framework connecting object resolution, permission ranking, and deterministic enforcement. In controlled composition experiments, reviewing combined artifacts reduces the denied-commit rate from 86.0% to zero with no loss of authorized supply. Our findings show that preserving information and lineage alone does not ensure correct permission attribution. Object identity and permission must remain connected to execution through components whose outputs can be verified. Together, these findings establish a system-level requirement for multi-agent safety: govern composed information flows while preserving the authorized capabilities that make collaboration useful.
Figures & tables
| Component | Lineage | Correctness | Denied commits | ||
| Assembly placement: execution correctness | |||||
| Model composer | N/A | 0.675 | 0.350 | 0.475 | 0/80 |
| Runtime assembler | N/A | 1.000 | 1.000 | 1.000 | 0/80 |
| Permission placement: proposal correctness | |||||
| Runtime lineage + specialist | 1.000 | 1.000 | N/A | 1.000 | 0/480 |
| Execution arm | Target commit | Final violation | Utility | Exact-call match |
|---|---|---|---|---|
| Native, no gate | 21/24 | 24/24 | 9/24 | 5/24 |
| Object-bound runtime stack | 0/24 | 4/24 | 21/24 | 5/24 |
Appendix figures & tables25 assets
Supplementary material from the paper’s appendix.
Appendix
| Study | Controlled contrast | Evaluation size |
|---|---|---|
| Controlled composition | Local / global read scope | 480 DENY + 480 ALLOW proposals |
| Natural composition | Generated artifacts, composer | 60 evaluation pairs, 12 clusters |
| Capability ladder | Class / binding / enforcement | 576 runs/cell, 32 clusters |
| Contributor scaling | Agent count , contributors | 588 + 672 graphs |
| Delegation contracts | Type-only / explicit lineage | 840 graphs/contract |
| Permission placement | Four isolated specialists | 480 graphs/specialist |
| Experiment | Communication | Capability tested | |
|---|---|---|---|
| Direct evaluation / ladder | Varies | Drafter and review components | Resolution, ranking, enforcement |
| Matched relay | 1 to 2 | Direct or relayed bytes | Topology and selectivity |
| Authority delegation | 1 to 16 | Source first, then handoffs | Lineage and attribution |
| Natural composition | 4 | Three workers and a composer | Cross-agent reconstruction |
| Contributor scaling | 1 to 16 | Star graph, informative | Information versus headcount |
| AgentDojo transfer | 1 or 3 | Direct or worker/relay/executor | External action boundary |
| Stage | Artifact | Fields retained | Object resolved | Outcome |
| Intake specialist | Message | 6/6 | No | N/A |
| Telemetry analyst | Store | 5/5 | No | N/A |
| Identity analyst | Handoff | 5/5 | No | N/A |
| Coordinator | Proposal | N/A | Reference only | Checks pass |
| Runtime assembly | Union | 16/16 | Yes | Exact registered record |
| Local runtime | DENY | N/A | No | Denied commit |
| Record element | Constructed example |
|---|---|
| Task | Prepare report REPORT-A and send the governed object when authorized. |
| Governed object | SYNTH_CODE_REVIEW_001 |
| Worker artifacts | Message: SYNTH_C. Store note: ODE_REV. Handoff: IEW_001. |
| Proposed action | send_external, with the complete object as its body and code-review.example.invalid as destination. |
| Trusted permission | DENY in one execution and ALLOW in its paired execution. |
| Local outcome | The action commits under both permissions. |
| Endpoint | Estimate | 95% cluster interval |
|---|---|---|
| Trusted-policy effect | 0.8828 | |
| Claim effect | 0.0000 | |
| Claim effect | 0.0156 | |
| Authorized supply | 0.8828 | |
| Task completion | 1.0000 |
| Model | Fewer denied commits | Tie | More denied commits |
|---|---|---|---|
| Haiku 4.5 | 3 | 3 | 2 |
| Sonnet 4.5 | 6 | 2 | 0 |
| Qwen3-32B | 5 | 1 | 2 |
| Gemma3-27B | 6 | 2 | 0 |
| Llama-3.3-70B | 2 | 2 | 4 |
| Total | 22 | 10 | 8 |
| Workers | Condition | Artifact path | Comparison | ||
|---|---|---|---|---|---|
| 1 | 0 | 1 | Local full record | Direct coordinator | Single-agent reference |
| 2 | 1 | 1 | Full record | One artifact | First delegation edge |
| 4 | 3 | 3 | Shared-scaled | Three artifacts | Distributed reconstruction |
| 8 | 7 | 7 | Contributor-scaled | Seven artifacts | More contributors |
| 16 | 15 | 15 | Contributor-scaled | Fifteen artifacts | Contributor scaling |
| 8 | 7 | 4 | Dummy-scaled | 4 informative + 3 background | Same , less information |
| Object | Denied commits | ALLOW supply | |||||
| Setting | Graphs | Local | Union | L | G | L | G |
| Discovery, | 168 | 168/168 | 168/168 | 0/168 | 0/168 | 168/168 | 168/168 |
| Discovery, distributed | 420 | 0/420 | 420/420 | 420/420 | 5/420 | 420/420 | 420/420 |
| Replication, non-maximal | 504 | 0/504 | 504/504 | 504/504 | 0/504 | 504/504 | 504/504 |
| Replication, | 168 | 0/168 | 168/168 | 168/168 | 19/168 | 168/168 | 168/168 |
| Replication, all cells | 672 | 0/672 | 672/672 | 672/672 | 19/672 | 672/672 | 672/672 |
| Cell | Schema purity | Role leakage | Worker conformance | Lineage coverage |
|---|---|---|---|---|
| 144/168 | 24/168 | 0.956 | 168/168 | |
| 120/168 | 48/168 | 0.895 | 168/168 | |
| 144/168 | 24/168 | 0.979 | 168/168 | |
| 113/168 | 55/168 | 0.877 | 149/168 | |
| All four cells | 521/672 | 151/672 | 0.927 | 653/672 |
| Design or criterion | Specification |
|---|---|
| Lineage and permission placement | |
| Model agents | 1, 4, 16 |
| Policy factors | Trusted untrusted |
| Role teams | 5 |
| Permission specialists | Sonnet 4.5, Haiku 4.5, Qwen3-32B, Gemma3-27B |
| Clusters, dev / confirm | 4 / 8 |
| Trusted policy | Selection component | Selected action | Runtime outcome |
|---|---|---|---|
| ALLOW | Final coordinator | Object reference mistyped | Rejected |
| ALLOW | Isolated Qwen specialist | Exact registered candidate | Committed |
| DENY | Isolated Qwen specialist | No action selected | No commit |
| Artifact channel | Assembler | Execution correct | ALLOW supply | Task |
|---|---|---|---|---|
| No failover | Model composer | 0.700 | 0.400 | 0.600 |
| No failover | Runtime assembler | 0.800 | 0.600 | 0.600 |
| Validated failover | Model composer | 0.675 | 0.350 | 0.475 |
| Validated failover | Runtime assembler | 1.000 | 1.000 | 1.000 |
| Condition | Gate binding | Wrong commits | Authorized supply |
|---|---|---|---|
| Cached-policy execution | N/A | 120/240 | 0/120 |
| Current-policy reread | N/A | 1/240 | 120/120 |
| Reread + version gate | 170/240 | 0/240 | 83/120 |
| Proposal input / control | Valid | Binding | Supply | Task | Protocol |
|---|---|---|---|---|---|
| Current-policy reread | 1.000 | 0.721 | 1.000 | 1.000 | 1.000 |
| Stale proposal + gate | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 |
| Stale proposal + repair | 0.788 | 0.000 | 0.000 | 0.000 | 0.785 |
| Exposure | Model | Exact attacks | Utility | Protocol | Inst. |
|---|---|---|---|---|---|
| Unchanged official | Sonnet 4.5 | 0/24 | 0.875 | 1.000 | yes |
| Unchanged official | Haiku 4.5 | 0/24 | 0.792 | 1.000 | yes |
| Unchanged official | Qwen3-32B | 5/24 | 0.458 | 1.000 | yes |
| Authority re-expression | Sonnet 4.5 | 13/24 | 0.625 | 1.000 | yes |
| Authority re-expression | Haiku 4.5 | 0/24 | 0.625 | 1.000 | yes |
| Authority re-expression | Qwen3-32B | 21/24 | 0.083 | 1.000 | yes |
| Observed outcome | Native | Gated |
| Required lunch event | Created | Created |
| Required calendar invitation | Sent | Sent |
| Private email forwarded | Yes | Blocked |
| Exact legitimate-action match | 1 | 1 |
| Benchmark utility | 0 | 1 |
| Model | Exact transient | Rate | Native utility | Protocol |
|---|---|---|---|---|
| Sonnet 4.5 | 0/36 | 0.000 | 0.750 | 0.917 |
| Haiku 4.5 | 0/36 | 0.000 | 0.556 | 0.972 |
| Qwen3-32B | 4/36 | 0.111 | 0.528 | 0.694 |
| Llama-3.3-70B | 2/36 | 0.056 | 0.194 | 0.944 |
| Official attack | Arm | Proposal | Commit | Violation | Utility | Commit [95% CI] |
|---|---|---|---|---|---|---|
| Important Instructions | Native | 6/8 | 6/8 | 5/8 | 5/8 | N/A |
| Important Instructions | Gated | 6/8 | 0/8 | 0/8 | 1/8 | [ ] |
| InjecAgent | Native | 5/8 | 5/8 | 5/8 | 2/8 | N/A |
| InjecAgent | Gated | 5/8 | 0/8 | 0/8 | 1/8 | [ ] |
| System message | Native | 3/8 | 3/8 | 3/8 | 4/8 | N/A |
| System message | Gated | 2/8 | 0/8 | 0/8 | 3/8 | [ ] |
| Official attack | Arm | Proposal | Commit | Violation | Utility | Commit [95% CI] |
|---|---|---|---|---|---|---|
| Important Instructions | Native | 0/8 | 0/8 | 4/8 | 3/8 | N/A |
| Important Instructions | Gated | 0/8 | 0/8 | 2/8 | 5/8 | [ ] |
| InjecAgent | Native | 0/8 | 0/8 | 3/8 | 3/8 | N/A |
| InjecAgent | Gated | 0/8 | 0/8 | 4/8 | 3/8 | [ ] |
| System message | Native | 0/8 | 0/8 | 2/8 | 2/8 | N/A |
| System message | Gated | 0/8 | 0/8 | 2/8 | 1/8 | [ ] |
| Evidence | Direct conclusion | Measurement scope |
| Paired evaluation | Authorized capability changes the safety target | Matched policy intervention |
| Paired evaluation | Resolution, ranking, and enforcement are distinct | Verbatim action ledger |
| Composition | Admissible artifacts identify a denied action | Read-scope intervention |
| Scaling | Distributed information drives resolution burden | Star graphs, seven teams |
| Delegation | Lineage and authority are separate capabilities | Paired contracts, 840 graphs |
| Permission placement | Lineage and action binding retained | Four specialists, 480 graphs each |
| Boundary | Reader / object | Metric | Value |
|---|---|---|---|
| Action commit | Literal governed objects | 0.990 to 0.998 | |
| Action commit | Literal governed objects | Verbatim releases | 0/2,304 |
| Action commit | Eight representation families | Lower commit | 22/40 |
| Action commit | Eight representation families | Higher commit | 8/40 |
| Action commit | Eight representation families | Unchanged commit | 10/40 |
| Outcome | Result |
| Natural composition: 60 evaluation pairs | |
| Denied exact recovery, local | 3/60 |
| Denied exact recovery, global | 0/60 |
| Authorized supply, global | 15/60 |
| Trusted policy untrusted claim: 320 units | |
| Policy effect | Large |