
Blacking Out a PDF Does Not Make It Safe for AI
Before sending a PDF to an AI service, remove sensitive content from text, images and hidden objects—not just the page view. A practical redaction and release guide.
Read MoreZharfAI Team

A product team wants to publish a weekly dashboard from conversations with an employee-support assistant. Names and message text are removed. An analyst adds random noise to each count and reports an epsilon value. The dashboard is called “differentially private.” Then three questions arrive: one employee generated hundreds of events, twelve earlier dashboards used the same records, and small departments can be isolated by combining filters. Nobody can show which person-level guarantee survives.
The output is noisy. That does not yet make the privacy claim true.
The practical decision is: may this output be released with a differential-privacy claim, must the query or guarantee be changed, should publication wait, or is the use incompatible with useful privacy? Epsilon is part of that decision, but it cannot answer it alone.
Differential privacy describes a property of a randomized mechanism. Informally, compare two neighboring datasets that differ in the protected contribution of one person. After the mechanism runs, the distributions of possible outputs should remain close enough that observing an output reveals only a bounded amount about whether that contribution was present.
Every noun carries an engineering choice: What counts as neighboring? Is the unit one event, account, household, or person across accounts? Which outputs cross the trusted boundary? Which mechanism runs? Which related releases and prior knowledge matter?
The March 2025 NIST SP 800-226 guidance therefore presents a guarantee as a pyramid: parameter and unit, correctness, utility and bias, query and trust models, access control, side channels, and collection exposure. A number at the top cannot repair a missing layer.
Our guide to privacy-enhancing technologies compares the wider toolkit. Here the task is narrower: turn one proposed release into an auditable decision.
NIST says smaller epsilon usually means a stronger privacy bound and lower accuracy under otherwise comparable assumptions. It offers no context-free rule for choosing epsilon: sensitivity, purpose, population, threat, protected unit, and deployment all matter.
The UK Information Commissioner's Office says in its privacy-enhancing technologies guidance that a differentially private algorithm does not automatically produce anonymous information. Configuration, accumulated queries, retained data, purpose, fairness, and case-specific risk still matter. It distinguishes central privacy, where a trusted aggregator sees raw data, from local privacy, where participants randomize before sending.
The OpenDP programming framework represents input domains, dataset-distance metrics, deterministic transformations, randomized measurements, and maps that bound privacy loss. Adding noise after an unbounded or ill-defined transformation does not prove the composed program.
The U.S. Census Bureau's TopDown Algorithm brief shows a data-product system, not a last-minute filter: privacy loss is allocated across queries and geography, results are post-processed, and utility is evaluated. Its parameter decision record documents stakeholder feedback and accuracy tests. The published budget belongs to that census design, not every dataset.
Google's differential-privacy libraries provide mechanisms, pipelines, accounting, and auditing tools. Their lower-level building blocks assume contribution limits that callers must enforce. A reputable library reduces avoidable risk; it does not supply product policy.
Those are verified source positions. The release contract, architecture, receipt, and decision states below are ZharfAI's operational synthesis.
Do not begin with epsilon. Begin with the privacy harm the release is meant to limit, then write the neighboring-dataset relation that represents it.
Suppose one employee uses the assistant from a browser, phone, and messaging integration. Event-level privacy may protect one event while leaving 499 others. Account-level privacy may protect each login while a stable identifier links all three. A user-day unit can compose into a much weaker yearly story.
NIST calls user-level protection a strong default. State both parts of the chosen relation:
A plain test is to write two situations an attacker wants to distinguish. “This employee never used the bereavement service” versus “this employee used it repeatedly” is not protected when only one page view can differ. If the situations are not neighbors, the guarantee does not directly cover that harm.
Noise is calibrated to sensitivity: how much the query can change when one protected unit changes. If one person can contribute an unlimited number of rows or an unlimited total value, sensitivity may also be unbounded. No finite amount of useful noise fixes that input contract.
Contribution bounding therefore belongs in the trusted computation before aggregation. For a weekly assistant dashboard, the policy might limit each protected user to a declared number of conversations, issue categories, or clipped score contribution during the protection horizon. The pipeline must group all identities belonging to the unit, apply the cap or subsampling deterministically or with a documented random process, and prevent duplicate ingestion from bypassing it.
Bounding changes meaning. If the system keeps five sampled sessions from a highly active user, the statistic estimates bounded participation, not every event. Record the rule and test its bias; do not call a clipped result exact.
Unstructured data is harder: a conversation may mention people other than its author. NIST notes that meaningful units for text, images, audio, and video can be difficult to define. If the team cannot map protection to the people present, it should narrow the claim or avoid release.
Central and local privacy solve different trust problems. In a central design, the curator receives raw data and protects outputs. Access control, encryption, retention, incident response, and a clean release boundary remain necessary; the guarantee does not protect data exposed inside a compromised curator.
In a local design, each participant randomizes before collection. This reduces trust in the aggregator but usually needs more noise for the same analytical goal. Local trades information and device complexity for a smaller central trust assumption; it is not automatically better.
List every recipient outside the boundary, including analysts, vendors, model providers, logs, and previews. A chart may be private while its exact pre-noise value appears in a trace. Side channels and related exact releases can disclose what the final table hides.
Access control limits who touches raw state; differential privacy limits what an approved release reveals. Neither substitutes for the other.
The same population is queried repeatedly. Dashboards refresh, analysts retry jobs, dimensions multiply, and models train for many steps. Composition rules bound accumulated loss. In the simplest pure-epsilon view, bounds add; other accountants may be tighter only when assumptions and parameters match.
Create one ledger at the protected-unit and dataset lineage boundary. A reservation should identify:
release_id + purpose + owner
protected unit + adjacency + horizon
dataset lineage and population
query or training configuration digest
mechanism + original privacy parameters
contribution and value bounds
budget requested + accountant/version
prior compatible releases considered
recipient boundary + expiry
utility result + approval + artifact digest
Reserve budget atomically before computation and commit it when information crosses the boundary. A timeout that showed a partial result may have spent privacy. Retrying until a random answer looks right is repeated release, not quality assurance.
One ledger must cover products that share people and lineage. An expired URL does not erase a release. Do not combine parameters from different privacy definitions without a valid conversion and the originals.
There is no universal epsilon that converts any dataset into “safe” output. Under the same neighboring relation and mechanism, a lower epsilon constrains output distributions more tightly; across different units, horizons, delta values, query models, and trust boundaries, two epsilon values may describe materially different protections.
Parameter approval connects four questions:
For approximate differential privacy, report epsilon and delta together. Delta is not a percentage of people who “lose privacy.” Because conversions depend on the chosen delta, preserve the original parameters and accountant method.
Treat budget as scarce authority. If useful output requires an unacceptable guarantee, publish less detail or do not publish.
A private output that cannot support its intended use has no reason to be released. Design utility tests with public, synthetic, or governed validation data, then evaluate released results without repeatedly revealing exact sensitive answers.
Inspect intervals, partition-selection effects, bias, rank stability, threshold crossings, meaningful slices, and resulting decisions—not only average error. Clipping and non-negative post-processing can introduce systematic bias. Small groups may carry far larger relative error than a global total.
Predeclare acceptance tests. Ask whether a noisy count distinguishes a sustained capacity problem from ordinary variation, not whether every point matches. If users need to investigate one person or a rare incident, aggregate differential privacy is probably the wrong interface; ICO specifically notes this utility problem.
The Census example exposed trade-offs through demonstration products and measured accuracy across uses. Copy that decision discipline, not its parameter values.
The team proposed weekly counts by department, issue, language, office, and channel. Some departments have four people, twelve exact previews already exist, and arbitrary filters are planned.
The privacy review changes the product:
The result may be a quarterly organization-wide trend instead of a weekly department microscope. That is an honest match between the guarantee and a useful decision.
A defensible architecture makes the unsafe shortcut difficult:
raw store + identity map
↓ restricted access
validated domain and lineage
↓
contribution/value bounding
↓
approved query registry or training plan
↓
vetted DP measurement
↔ atomic budget accountant
↓
utility, bias and attack-oriented tests
↓
release gateway + signed receipt
↓
public artifact or bounded recipient
The gateway rejects unregistered queries, incompatible budget, missing bounds, unsupported versions, failed utility, changed recipients, or absent receipts. Debug mode must not bypass noise. Exact intermediates stay out of general logs, and mechanism randomness and seeds stay protected.
Prefer tested end-to-end libraries over hand-built noise. Pin library and accountant versions, monitor known issues, and re-evaluate after numerical, dependency, or pipeline changes.
Empirical auditing can find counterexamples and bugs. As NIST cautions, finding none does not prove the guarantee. Tests supplement analysis, review, and controls.
The receipt lets a reviewer understand the claim without reconstructing code. State the purpose, unit, adjacency, horizon, lineage, trust model, mechanism, original parameters, accountant, bounds, cumulative scope, utility, bias, related releases, recipients, approval, and expiry.
Use precise language: “This table used mechanism X, user-level add/remove adjacency, population Y, horizon Z, these parameters, and these prior releases.” Avoid “zero risk” or “the dataset is anonymous.” Differential privacy limits one defined inference channel; it does not legitimize excessive collection, insecure storage, or a harmful product.
Keep the receipt beside the release and in the audit-evidence trail. Apply the synthetic-data governance guide to derived products: “synthetic” is not itself a privacy proof.
| Decision | Evidence state | What happens next |
|---|---|---|
| Release | Harm, unit, trust boundary, bounds, mechanism, composition, utility, and receipt all support the stated claim | Publish only to the named recipients and monitor expiry conditions |
| Modify | A defensible guarantee is possible after coarsening, bounding, reducing frequency, narrowing recipients, or changing the purpose | Redesign and rerun the complete gate; do not reuse the old approval |
| Defer | Lineage, earlier releases, identity linkage, implementation assurance, or utility evidence is incomplete | Preserve the request; release no new information until the missing evidence is resolved |
| Reject | The required exactness conflicts with useful privacy, the protected unit cannot represent the harm, or a side channel cannot be controlled | Use a restricted workflow, another PET, non-personal data, or abandon the release |
The table also applies to training. A model trained with a valid private algorithm can carry its guarantee into post-processed outputs under the relevant assumptions. A normally trained model with a noisy reporting layer cannot be relabeled private. Cross-organization analysis may instead need the secure-computation patterns in our privacy-preserving data collaboration guide.
In each failure, one attractive artifact stands in for the whole release system.
Monitor both mechanism and decision:
Reopen approval when an assumption changes. A new dimension changes sensitivity; a new vendor changes the trust boundary; merged identities change the unit; an exact disclosure changes inference; a library fix may invalidate prior receipts.
The final question is not “What epsilon did we use?” Ask what is protected, across which releases and assumptions, and whether the output serves its decision. If the receipt answers and the gate enforces that, epsilon has meaning. Otherwise it is only a number attached to noise.

Before sending a PDF to an AI service, remove sensitive content from text, images and hidden objects—not just the page view. A practical redaction and release guide.
Read More
A practical contract for proving where AI inputs, inference, embeddings, logs, tools, support access, backups, and fallbacks may operate.
Read More
A field guide for tracing who or what saw an AI test, separating practice from decision evidence, and accepting, qualifying, rerunning, or retiring a score.
Read MoreIf this note maps to a real system in your organisation, start with the services page or a shipped case study.