Skip to content

fix: make privacy scrubbing fail closed - #13

Merged
abrichr merged 6 commits into
mainfrom
codex/privacy-fail-closed
Jul 29, 2026
Merged

fix: make privacy scrubbing fail closed#13
abrichr merged 6 commits into
mainfrom
codex/privacy-fail-closed

Conversation

@abrichr

@abrichr abrichr commented Jul 28, 2026

Copy link
Copy Markdown
Member

What changed

  • Validates scrubber dependencies before reading source content.
  • Binds every scrub to one immutable policy snapshot and records its digest.
  • Makes first-party Presidio and the documented public provider boundary fail closed under policy changes.
  • Drops raw screenshot paths and pixels from text-only sanitized derivatives.
  • Invalidates policy-bound analyzer, entity, and image-redactor caches.
  • Removes an unavailable hosted scrubber from provider discovery.

Why

A missing dependency, mutable policy, or stale provider cache must never produce success-shaped sanitization evidence or let raw artifacts cross the boundary.

Validation

  • 80 tests passed; 2 optional-dependency tests skipped.
  • Ruff passed.
  • Wheel and sdist built and inspected.
  • Source-policy guard passed.
  • Independent exact review exercised A-to-B-to-A policy changes, legacy providers, nested mutation, concurrency, stale aliases, screenshot-only flows, exception restoration, and Presidio cache invalidation.

Exact reviewed head: 413fdbedfbea7f25c60031d5fa50b4889f3347c6.

@abrichr
abrichr marked this pull request as ready for review July 28, 2026 22:02
@abrichr

abrichr commented Jul 28, 2026

Copy link
Copy Markdown
Member Author

Coordination hold: exact head 413fdbedfbea7f25c60031d5fa50b4889f3347c6 is independently accepted and all hosted checks pass. Do not merge yet: a fix: merge to main auto-publishes the next Privacy patch. Merge this once in the coordinated Types 0.7 / Privacy patch / Flow 1.26 release window, then verify the published GitHub and PyPI artifacts and bind Flow's optional dependency to the released fail-closed contract.

@abrichr
abrichr merged commit ec6b11c into main Jul 29, 2026
4 checks passed
@abrichr
abrichr deleted the codex/privacy-fail-closed branch July 29, 2026 19:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant