PolicyGraph — Contextual Policy Enforcement for Agent Disclosure

Published:

Status: Pilot complete · go/no-go recorded · part of the agent-authorization and tool-security line of work.

The question

An agent acting on personal data has to satisfy two constraints at once: never release a prohibited field, and never act on an authorization that has since gone stale. Defenses usually address one and quietly fail the other. PolicyGraph compares five defenses across attack and clean arms on 200 scenarios, with an 80-scenario group-disjoint test split, a clean split-leakage check and a recorded dataset hash.

Results so far

Under attack:

DefenseClean successProhibited-field leakStale-authorization release
none0.0131.000—
prompt0.2501.0001.000
isolation0.750—1.000
output_filter0.5880.0001.000
policygraph0.8630.0000.000
  • Only PolicyGraph closes both failure modes, and it does so while posting the highest clean-task success of any arm under attack — utility and safety moving together rather than trading off.
  • The output filter is the instructive near-miss. It stops the prohibited field completely and still releases on stale authorization every single time, because a filter inspects content and cannot see that permission has expired.
  • A prompt-level instruction fails on both axes, leaking on every attack while costing task success.