CONCEPT Cited by 1 source
Data flow violation¶
Definition¶
In IFC systems like Meta's Policy Zones, a data flow violation is the runtime event raised when annotated data would flow into a destination whose annotation (or lack thereof) is not compatible with the source's flow rules.
The canonical Meta example¶
From the 2024-08-31 post's banana-data walkthrough:
- A web request
BananaRequestloads data fromBananaDB→ "data flow violation because the intent of the caller is unknown." - Developer annotates
BananaRequestwithBANANA_DATA→ a zone is created. - Runtime programmatically checks the zone's outgoing flows → "new data flow violations from BananaRequest to logB and logC" flagged.
- Developer remediates: annotate
logBas banana (safe flow), remove thelogCwrite (unsafe flow cut off). - Zone moves from logging mode to enforcement mode — after enforcement, "if a developer adds a write to a sink outside of the zone, it will be blocked automatically."
Three remediation cases¶
The post names three resolutions for any data flow violation:
- Case 1 — Safe flow: the relevant data is used for an allowed purpose → annotate the sink with the same label.
- Case 2 — Unsafe flow: the relevant data is used for a disallowed purpose → block data access and code execution to prevent further processing.
- Case 3 — Reclassified flow: the relevant data is not used or propagated at the sink → annotate the data flow as reclassified (explicitly permitted).
Detection granularity¶
Policy Zones detects violations at the call-tree level for function-based systems (a zone "includes all functions that it calls directly or indirectly") and per-query for batch systems (Presto / Spark zones are created per SQL job). Violations are reported to PZM for remediation.
Seen in¶
- sources/2024-08-31-meta-enforces-purpose-limitation-via-privacy-aware-infrastructure — canonical framing on this wiki.
Related¶
- concepts/information-flow-control — the primitive.
- concepts/data-annotation — the label on the source / sink.
- concepts/logging-vs-enforcement-mode — how violations are handled in each phase.
- concepts/purpose-limitation — the policy class that generates violations.
- systems/meta-policy-zones — the detector.
- systems/meta-policy-zone-manager — the remediation UX.
- patterns/runtime-information-flow-enforcement — the pattern.
- companies/meta