concept · concepts/Allowlist over Blocklist.md

Allowlist over Blocklist

status: active · created 2026-06-26 · 1 source · #security #privacy #data-engineering #data-handling #craft

For sensitive data, name what you keep and drop everything else (allowlist), rather than enumerating what to exclude (blocklist). An allowlist fails closed; a blocklist leaks by omission the moment a new sensitive field appears that nobody remembered to ban.

Explanation

The source (Working Heuristics — Data, Matching, Product, Org, Tooling) applies this to ingestion: allowlist, not blocklist, for sensitive fields — name the fields you intend to keep and drop the rest, so sensitive data can't leak by omission. The asymmetry is the whole point:

  • A blocklist is only as complete as your memory of every sensitive field. Add a new source column tomorrow, forget to ban it, and it flows straight through. The default is expose.
  • An allowlist flips the default to deny. A field you didn't explicitly admit simply doesn't pass. New, unanticipated sensitive fields are excluded automatically — the safe failure mode.

Why it matters / where it shows up

  • It fails in the safe direction. When you're wrong (and you eventually will be), an allowlist errs toward dropping a field, a blocklist toward leaking one. Choose the mistake you can live with.
  • It's a Data Contract decision. What to expose is part of the contract; this heuristic says express that contract as an allowlist.
  • Same shape as Control-Flow Integrity. CFI is default-deny for control flow — only the edges in the legitimate control-flow graph are permitted, everything else is rejected. "Enumerate the legitimate, deny the rest" is one security principle showing up in both data handling and software security.

Open questions

  • Allowlists can over-drop — silently losing a field a downstream consumer needed. How do you get the fail-closed safety without starving legitimate use?

Connections

Sources

The wiki is the source. This door reads it at build time and never writes to it.