Skip to content

CONCEPT Cited by 1 source

Information flow control (IFC)

Definition

Information flow control (IFC) is the classical security / privacy primitive that controls how data is processed and transferred at runtime — not just who can read it at rest. Each data element carries a security label; as the element flows through code, the runtime checks at every transfer that the destination's label is compatible with the source's, blocking or allowing the transfer accordingly.

The foundational academic references (cited by the 2024-08-31 Meta PAI post):

Contrast with point-checking + lineage

Prior to IFC, privacy enforcement typically used point-checking controls (if statements + ACLs at the point of access) optionally augmented by data lineage (a post-hoc graph of source → sink relationships). Both are detection-time or audit-time primitives; IFC is execution-time. Meta's 2024-08-31 framing:

"The information flow control (IFC) model offers a more durable and sustainable approach by controlling not only data access but also how data is processed and transferred in real-time, rather than relying on point checking or out-of-band audits."

Runtime mechanics

IFC makes three things first-class at runtime:

  1. Encapsulation — data elements carry labels (see concepts/data-annotation).
  2. Propagation — labels flow with data through function calls, return values, and cross-system transfers; the receiving context becomes a zone (in Meta's terminology) inheriting the policy.
  3. Evaluation — at every transfer, the runtime checks compatibility between source and destination labels against a policy lattice.

Seen in

Last updated · 319 distilled / 1,201 read