Sound Enforcement of Dynamic Release Information Flow Policy-Full Version
Jeffrey C. Ching, Danfeng Zhang
Duke University
cs.PL, cs.CR
Submitted: 2026-08-19
Updated: 2026-08-20
License: http://creativecommons.org/licenses/by/4.0/
Importance score: 75/100
The gist: Based on the paper, here is a detailed summary: This paper presents the first sound enforcement mechanism for the dynamic release information flow policy, a unified framework that generalizes various
Terminology
Summary
Based on the paper, here is a detailed summary:
This paper presents the first sound enforcement mechanism for the dynamic release information flow policy, a unified framework that generalizes various dynamic policies such as declassification, endorsement, and erasure. The work addresses a fundamental gap between theory and practice in information flow analysis: existing techniques assume static policies where data secrecy does not change, whereas real-world security concerns are dynamic.
The paper makes four main contributions:
- A metalanguage with security specification: The authors formalize a core imperative language that enables dynamic release policies. Key novel language features include:
-
A distinguished set of security events (s) that can be toggled via
eventonandeventoffcommands -
Controlled output commands
output(L, e, using s0... sk)that reveal a value only if specified security events are met -
A novel
relabelcommandx:= relabel(e, p f to Lt using s0... sk)that performs permissive yet sound conversion between labels
- A type system for dynamic release policy: The authors develop a novel type system with two sets of static inference rules:
-
A
flows-to
relation (⊏∼) that specifies which labels can flow to others, including flows between dynamic labels and static levels -
A
release-to
relation (<∼) that checks if information can be safely released to a security level at each program point
The type system includes rules for directional policies (→), bi-directional policies (↔), and distinguishes between transient (t) and persistent (p) policies.
- Formal soundness proof: The authors develop new proof techniques to prove the type system enforces dynamic release policy. Key innovations include:
-
A novel indistinguishability relation parameterized on each dynamic label (Definition 10)
-
Introduction of a distinguished dynamic label B for security reasoning
-
New conditions in lemmas and theorems to reflect when intentional leakage is allowed
-
The proof establishes that any well-typed program satisfies its specified dynamic release policy across all possible executions
- Rust implementation and case studies: The authors implemented a prototype as an extension to the Rust language, following the approach of Cocoon. They ported:
-
A conference reviewing system (originally in Lifty) with examples like password disclosure prevention and paper score release
-
Civitas (originally in Jif), a secure voting system with erasure policies for credentials
The implementation demonstrates minimal runtime overhead (0.033ms vs 0.029ms for conference system, 5.736ms vs 5.694ms for Civitas).
The paper's technical approach includes:
-
Label semantics: Dynamic labels are interpreted as
cnd?p ⋄ qwhere conditions control when sensitivity changes, with transient policies disallowing past-released information from being revealed after upgrades, while persistent policies allow it. -
Static analysis: The type system uses facts established by
usingclauses to reason about security events, with rules like (R-From) and (R-To) for directional policies, and special handling for bi-directional policies. -
Soundness proof structure: The proof follows a small-step noninterference approach but adapts it for dynamic policies by maintaining indistinguishability through trace preservation (Lemma 1) and using an unwinding lemma (Lemma 2) that handles the dynamic nature of labels.
The paper concludes that this work offers simple, intuitive, and unified enforcement of various dynamic policies, such as declassification, endorsement, and erasure policies,
addressing the limitations of prior ad hoc enforcements for individual dynamic policies.
Improvements for AI systems
Improvements to AI Systems:
-
Dynamic Security-Aware Code Generation: AI code generators (e.g., Copilot, Codex) can be enhanced to automatically insert
relabelandoutputcommands with correctusingclauses, ensuring generated code respects dynamic declassification, endorsement, and erasure policies without manual annotation. -
Runtime Policy Enforcement in AI Agents: AI agents that interact with external data (e.g., chatbots, autonomous systems) can integrate the sound enforcement mechanism to dynamically adjust data sensitivity based on security events (e.g., user authentication, session expiry), preventing unintended leakage of previously released sensitive information.
-
Formal Verification of AI-Controlled Workflows: AI systems that orchestrate multi-step workflows (e.g., data pipelines, decision systems) can use the type system to statically verify that all possible execution paths satisfy dynamic release policies, catching policy violations before deployment.
-
Adaptive Privacy-Preserving Machine Learning: The label semantics (
cnd?p ⋄ q) can be applied to ML models to dynamically change data sensitivity during training or inference (e.g., when a user revokes consent), allowing models to automatically forget or reclassify data without retraining from scratch. -
Secure Multi-Agent Communication: AI systems with multiple agents sharing information can use the
flows-toandrelease-torelations to automatically negotiate and enforce dynamic information release policies between agents, preventing accidental over-sharing in collaborative tasks. -
Policy-Aware Debugging and Testing: AI-based testing tools can leverage the soundness proof to generate test cases that specifically probe dynamic label changes (via
eventon/eventoff), ensuring that AI systems correctly handle security events at runtime.
What the Improved AI System Can Do:
-
Automatically generate code that provably satisfies complex, changing security requirements (e.g., a voting system that erases credentials after tallying).
-
Dynamically adjust data confidentiality in real-time based on user actions or system events, with formal guarantees of no leakage.
-
Verify entire AI pipelines (from data ingestion to output) against dynamic policies, preventing subtle information leaks in production.
-
Support secure collaboration among AI agents where data sensitivity evolves over time (e.g., releasing partial results after a deadline).
-
Provide provably secure AI systems for regulated domains (healthcare, finance, elections) where data policies change per context (e.g., patient consent revocation).
Abstract
Information flow analysis is the de facto method of assessing confidentiality and integrity issues. However, the widespread adoption of information flow analysis in real-world systems is still lacking, partly due to a fundamental gap between theory and practice: the dynamic nature of security concerns in real-world systems goes beyond the scope of existing techniques that assume a static policy (i.e., data secrecy does not change). Recognizing the fundamental gap, a substantial amount of research has studied various aspects of it (e.g., enabling declassification, endorsement, and invocation policies). A recent work takes a step further by formalizing a promising end-to-end policy called dynamic release that unifies prior formalizations by allowing information flow restrictions to downgrade and upgrade in arbitrary ways. However, how to soundly enforce the powerful dynamic release policy is still an open question. In this paper, we present the first type system that enforces dynamic release policy and formally prove its soundness. More specifically, we (1) formalize a core language that enables dynamic release policy, (2) develop a type system that checks dynamic release policy, (3) develop new proof techniques and formally prove that the type system enforces dynamic release policy, and (4) implement a prototype of the type system as an extension to the Rust language, along with case studies on conference reviewing system and Civitas.
Sources
Related papers
- Language-Based Agent Control
- ANEForge: Python for direct computation on the Apple Neural Engine
- CrossTL: Hub-Based Translation of GPU Programs and the Preservation of Source Rules
- Volition Elicitation: Operational Semantics for People and Their Machines
- Griotte: Verified Compartmentalisation via Capabilities
- GraphMend: Code Transformations for Fixing Graph Breaks in PyTorch 2