July 15, 2026
Whistleblowers are a key safeguard against organizational wrongdoing, but the threat of retaliation deters reporting. Existing whistleblower-protection proposals lack formal privacy guarantees, and existing differential privacy mechanisms do not directly target the natural threat model — one in which the audited organization itself observes auditor selection decisions and uses them to identify reporters. We formalize protection against a strong-adversary threat model as per-report \((0, \delta)\)-differential privacy on the transcript of audit selections. Within this framework we prove that a natural approach — randomized response applied at the selection step — can never outperform uniform random auditing by more than \(\delta\) at any horizon. We then give a generic mechanism that reduces private auditing to private continual counting: any \((0, \delta)\)-DP continual counter plugs in by post-processing, and the audit transcript inherits the same per-report guarantee. Instantiating the reduction with a recent work in continual counting yields per-report \((0, \delta)\)-DP with noise scaling as \(O(\sqrt{\log T})\) across a horizon of \(T\) audit decisions. A utility theorem shows that the selection error vanishes whenever the noisy report gap between the most-reported organization and the runner-up grows faster than \(\sqrt{\log T}\). Simulations show a substantial improvement over randomized response.
Whistleblowers are a crucial safeguard against organizational wrongdoing [1], from misconduct in private organizations [2], [3] to national governments [4]. Employees, who account for a significant fraction of whistleblower reports [2], frequently face retaliation from the organizations they expose [5]. This is a major deterrent to whistleblowing: perceived threat of retaliation is negatively associated with the intention to blow the whistle [6]–[8].
For this reason, confidentiality and anonymity are widely treated as central to effective whistleblower protection [9]–[11]. This is also reflected in recent legal frameworks: the EU Whistleblower Protection Directive requires confidential reporting channels and protection from retaliation [12], and the EU AI Act extends these protections to reports of AI Act infringements [13]. Yet these regimes typically specify confidentiality at the level of the reporting channel. They do not provide a formal guarantee about what an organization may infer from the auditor’s subsequent actions.
This distinction matters because anonymity can fail even when reports are submitted confidentially. Suppose an employee reports a concern to an independent auditor, and the auditor soon afterwards investigates the employee’s organization. The organization may not observe the report itself, but it observes the audit. If only a few employees had access to the relevant information, the audit can reveal who likely reported. Thus, the central privacy question is not only whether a reporting channel hides names, but whether the observable audit transcript preserves plausible deniability for each individual report.
This problem is particularly acute in AI governance. Many risks from advanced AI systems are likely to be observed first by employees and contractors inside the organizations developing them, before they are visible to external auditors, regulators, or the public. Recent proposals for frontier-AI regulation, responsible reporting, and end-to-end algorithmic auditing all rely on insider information as an important signal [14]–[16]. For such systems to be credible, a developer should not be able to infer from the timing or target of a model evaluation, compliance review, or safety audit that a particular employee filed a report.
The key insight to ensure this is that audit decisions need not be deterministic functions of report counts. If the auditor introduces randomness into the organizations selected for audit, the organization cannot be sure whether an audit was triggered by a report or by the auditor’s randomization. This gives whistleblowers plausible deniability: the ability to deny responsibility due to other alternative possibilities. More specifically, we study the design of randomized audit policies that provide a quantifiable deniability guarantee. At each timestep, an auditor receives whistleblower report and selects an audit target for follow-up. The resulting sequence of audit decisions is observable to the audited organizations. Ideally, the mechanism should protect any single report while still allowing useful audit decisions, and should impose no bound on the number of reports received between audits.
One classic approach to achieve plausible deniability is using randomized response [17]: the mechanism sometimes follows the true signal and sometimes outputs a random response. Prior work [10] adapts this idea to whistleblowing. Unfortunately, privacy pins randomized response to near-uniform auditing: at any fixed privacy level, it must select almost at random already at the first audit decision, regardless of the horizon.
Formalization (Sections 2–3). We formalize whistleblower auditing as per-report \((0, \delta)\)-differential privacy on the transcript of audit selection decisions, under a strong-adversary threat model in which the audited organization itself is the adversary. To our knowledge, no prior work targets this exact granularity — per-report adjacency, per-decision observable, fixed horizon — under this threat model.
Negative result for randomized response (Section 4, Theorem 2). We prove that randomized response applied at the selection step — the canonical adaptation of Warner’s [17] primitive used in the economics literature on whistleblowing [10] — can never outperform uniform random auditing by more than \(\delta\) at any horizons.
Generic reduction (Section 5, Proposition 3). We give a mechanism that reduces private auditing to private continual counting: any \((0, \delta)\)-DP continual counter plugs in by post-processing, and the audit transcript inherits the same per-report guarantee. Future improvements in continual counting can be incorporated easily.
Concrete instantiation and utility analysis (Sections 6 and 7). We instantiate the reduction with the Toeplitz-factorization counter of [18], which was recently shown to be near-optimal for continual counting by [19]. This obtains per-report \((0, \delta)\)-DP with noise scaling as \(O(\sqrt{\log T})\). A utility theorem (Theorem 5) shows the error decays whenever the noisy report-count gap between the organization with the most reports and the runner-up organization grows faster than \(\sqrt{\log T}\) — an asymptotic improvement over randomized response.
Empirical validation (Section 8). Simulations show that the resulting mechanism substantially outperforms randomized response in both a static gap sweep and a dynamic online auditing setting.
We propose the following auditing setup. Fix an audit horizon \(T \in \mathbb{N}\) and a number of audit targets \(C \in \mathbb{N}\).1 At each timestep \(t \in [T]\), the auditor collects any new whistleblower reports and selects an audit target. The collected reports form a report stream \({\mathbf{R}}_T = ({\mathbf{r}}_1, \ldots, {\mathbf{r}}_T) \in \mathbb{N}_0^{C \times T}\), where the \(c\)-th entry of \({\mathbf{r}}_t\), denoted \(r_{t,c}\), counts the number of new reports about audit target \(c\) at time \(t\). The sequence of audit decisions forms the audit transcript \({\mathbf{a}}_T = (a_1, \ldots, a_T) \in [C]^T\). For \(t \le T\), we write \({\mathbf{R}}_t\) and \({\mathbf{a}}_t\) for the length-\(t\) prefixes. We write \({\mathcal{R}}_T := \mathbb{N}_0^{C \times T}\) for the space of report streams and \({\mathcal{A}}_T := [C]^T\) for the space of audit transcripts.
The auditing setup must satisfy the following conditions.
Condition 1 (Privacy). The auditor should guarantee each report a fixed level of privacy, regardless of when it is submitted or which audit target it concerns.
We formalize Condition 1 using the following definitions of adjacency and privacy:
Definition 1 (Adjacent Report Streams). Two report streams \({\mathbf{R}}_T, {\mathbf{R}}'_T\) are adjacent, written \({\mathbf{R}}_T \sim {\mathbf{R}}'_T\), if there exists a unique \((t^*,c^*) \in [T]\times[C]\) such that \(|r_{t^*,c^*} - r'_{t^*,c^*}| = 1\) and \(r_{t,c} = r'_{t,c}\) for all \((t,c) \neq (t^*,c^*)\).
Definition 2 (\((\epsilon,\delta)\)-Differential Privacy).
A randomized mechanism \({\mathcal{M}}: {\mathcal{R}}_T \to {\mathcal{A}}_T\) satisfies \((\epsilon,\delta)\)-differential privacy* with respect to the adjacency relation of Definition 1 if for all adjacent \({\mathbf{R}}_T \sim {\mathbf{R}}'_T\) and all \(A \subseteq {\mathcal{A}}_T\), \[\Pr[{\mathcal{M}}({\mathbf{R}}_T) \in A] \;\le\; e^{\epsilon} \cdot \Pr[{\mathcal{M}}({\mathbf{R}}'_T) \in A] + \delta.\]*
For the special case of \((0,\delta)\)-DP, we can demand equivalently: \(d_{\mathrm{TV}}({\mathcal{M}}({\mathbf{R}}_T),{\mathcal{M}}({\mathbf{R}}_T')) \le \delta\) for every adjacent pair (a standard fact proven in Proposition 6).
Remark 1 (Per-report and per-whistleblower privacy). Under definition 1, a privacy guarantee stated as in definition 2 should be interpreted as per-report (event-level). If a whistleblower files \(k\) reports, then the inclusion of that whistleblower’s full contribution may change \(k\) report events. By standard group privacy, a mechanism satisfying \((\epsilon,\delta)\)-DP for single-report adjacency satisfies \[\left(k\epsilon,\; \delta \sum_{i=0}^{k-1} e^{i\epsilon}\right)\text{-DP}\] for the inclusion or exclusion of all \(k\) reports by that whistleblower (see Appendix Lemma 2). In the special case of \(\epsilon=0\) used throughout this paper, this becomes \((0,k\delta)\)-DP. Consequently, a nontrivial per-whistleblower guarantee requires a bound on the number of reports attributed to one whistleblower.
Audits based on whistleblower reports are often costly [20] so it is reasonable for an auditor to audit less frequently than whistleblowers can issue reports, motivating the following practical condition:
Condition 2 (Report Reset). After a target is audited, previous reports about that target are no longer counted toward future audit decisions.
This condition reflects the interpretation of an audit as resolving the currently pending concerns about that audit target. Thus, at time \(t\), the relevant count for target \(c\) is not the cumulative number of reports over the entire horizon, but the number of active reports: reports received since the most recent audit of \(c\), or since \(t=1\) if \(c\) has not yet been audited.
Definition 3 (Active counts). Fix a report stream prefix \({\mathbf{R}}_t\) and a decision prefix \({\mathbf{a}}_{t-1} \in [C]^{t-1}\). For each \(c \in [C]\), let \(\tau_c(t) \mathrel{\vcenter{:}}= \max\{s \le t-1 : a_s = c\}\), with \(\max \emptyset \mathrel{\vcenter{:}}= 0\), denote the most recent audit of \(c\) before time \(t\). The active count* of target \(c\) at time \(t\) is \[n_{t, c} \mathrel{\vcenter{:}}= \sum_{s = \tau_c(t)+1}^{t} r_{s, c},\] the number of reports about \(c\) received since its last audit, including those received at time \(t\) itself. When the decisions are produced by a mechanism \({\mathcal{M}}\), the \(n_{t, c}\) are random variables through \({\mathbf{a}}_{t-1}\).*
Following the strong-adversary threat model of [21], we take the natural adversary in our setting to be the audit target itself: an entity with near-complete knowledge of its internal state and reporting history. The adversary has an incentive to identify whistleblowers in order to retaliate, knows the auditing mechanism \({\mathcal{M}}\) including all parameters, and observes the realized audit transcript \({\mathbf{a}}_T\).
We instantiate the strong-adversary model as a binary adjacent-stream distinguishing game. Let \({\mathbf{R}}_T \sim {\mathbf{R}}'_T\) be two adjacent report streams that differ only in whether one report at \((t^*,c^*)\) was filed. The adversary’s task is to distinguish the two worlds \[\begin{align} H_1:{\mathbf{a}}_T \sim {\mathcal{M}}({\mathbf{R}}_T) \qquad \text{vs.} \qquad H_0:{\mathbf{a}}_T \sim {\mathcal{M}}({\mathbf{R}}'_T). \end{align}\] This captures the relevant privacy question of whether observing the audit transcript lets the audit target infer that a particular report was filed. Because the adversary is assumed to have near-complete background knowledge, bounding its distinguishing power also bounds the power of weaker adversaries.
A test for the distinguishing game above is a decision rule \(\varphi : \mathcal{A}_T \to [0,1]\), where \(\varphi({\mathbf{a}}_T)\) is the probability with which the adversary, having observed the transcript \({\mathbf{a}}_T\), rejects \(H_0\) and concludes that the additional report was filed; deterministic rules correspond to \(\varphi({\mathbf{a}}_T) \in \{0,1\}\). Its true- and false-positive rates, \[\begin{align} \mathrm{TPR}(\varphi) \mathrel{\vcenter{:}}= \mathbb{E}_{{\mathbf{a}}_T \sim {\mathcal{M}}({\mathbf{R}}_T)}\bigl[\varphi({\mathbf{a}}_T)\bigr], \qquad \mathrm{FPR}(\varphi) \mathrel{\vcenter{:}}= \mathbb{E}_{{\mathbf{a}}_T \sim {\mathcal{M}}({\mathbf{R}}'_T)}\bigl[\varphi({\mathbf{a}}_T)\bigr], \end{align}\] are the power and the size of the test \(\varphi\). By the total-variation characterization of \((0,\delta)\)-DP (Proposition 6), the privacy guarantee is equivalent to the following prior-free statement: \[\mathrm{TPR}(\varphi) \;\le\; \mathrm{FPR}(\varphi) + \delta \qquad \text{for every adjacent pair {\mathbf{R}}_T \sim {\mathbf{R}}'_T and every rule \varphi.} \label{eq:prior-free}\tag{1}\] This becomes clear after plugging in the indicator function: \(\varphi = \mathbb{1}_A\), which recovers Definition 2 with \(\epsilon = 0\), and conversely \(\mathrm{TPR}(\varphi) - \mathrm{FPR}(\varphi) \le d_{\mathrm{TV}}\bigl({\mathcal{M}}({\mathbf{R}}_T), {\mathcal{M}}({\mathbf{R}}'_T)\bigr) \le \delta\) for every \([0,1]\)-valued \(\varphi\). The corresponding interpretation thus is: no test on the transcript can detect the report at a rate exceeding its false-alarm rate by more than \(\delta\).
Following the baseline-aware perspective of [21], we translate equation 1 into a statement about the adversary’s decisions by placing a weight on the two hypotheses. Fix \(\pi \in [0,1]\) and let \(W \sim \mathrm{Bern}(\pi)\) select the true hypothesis: the mechanism runs on \({\mathbf{R}}_T\) if \(W = 1\) (hypothesis \(H_1\)) and on \({\mathbf{R}}'_T\) if \(W = 0\) (hypothesis \(H_0\)), and the adversary — who knows \({\mathcal{M}}\), both streams, and \(\pi\) — observes \({\mathbf{a}}_T\) and guesses \(W\). The success of a rule \(\varphi\) is its probability of guessing correctly in this experiment; by the law of total probability, \[\begin{align} \mathrm{succ}_{\pi,{\mathbf{R}}_T,{\mathbf{R}}'_T}(\varphi;{\mathcal{M}}) \mathrel{\vcenter{:}}= \Pr[\text{guess} = W] = \pi\,\mathrm{TPR}(\varphi) + (1-\pi)\bigl(1 - \mathrm{FPR}(\varphi)\bigr). \end{align}\] The weight \(\pi\) may be read either as the adversary’s prior belief that the report was filed, or as the frequency of the reporting event across the scenarios the guarantee must cover; all bounds below hold uniformly in \(\pi\), so no assumption on \(\pi\) is made. Without observing \({\mathbf{a}}_T\), the best achievable success is that of the better constant rule (\(\varphi \equiv 1\) or \(\varphi \equiv 0\)): \[\begin{align} \mathrm{base}_{\pi} \mathrel{\vcenter{:}}= \max\{\pi, 1-\pi\}. \end{align}\] The additive advantage of \(\varphi\) is its improvement over this baseline, \[\begin{align} \mathrm{adv}_{\pi,{\mathbf{R}}_T,{\mathbf{R}}'_T}(\varphi;{\mathcal{M}}) \mathrel{\vcenter{:}}= \mathrm{succ}_{\pi,{\mathbf{R}}_T,{\mathbf{R}}'_T}(\varphi;{\mathcal{M}}) - \mathrm{base}_{\pi}, \end{align}\] so that any rule which ignores the transcript has advantage at most zero. The mechanism’s advantage at weight \(\pi\) is the largest such improvement over all adjacent streams and decision rules: \[\begin{align} \mathrm{adv}_{\pi}({\mathcal{M}}) \mathrel{\vcenter{:}}= \sup_{{\mathbf{R}}_T \sim {\mathbf{R}}'_T}\, \sup_{\varphi}\, \mathrm{adv}_{\pi,{\mathbf{R}}_T,{\mathbf{R}}'_T}(\varphi;{\mathcal{M}}). \end{align}\]
Theorem 1 (Prior-independent deniability). If \({\mathcal{M}}\) satisfies \((0,\delta)\)-differential privacy, then for every \(\pi \in [0,1]\), \[\begin{align} \mathrm{adv}_{\pi}({\mathcal{M}}) \;\le\; \min\{\pi, 1-\pi\}\,\delta. \end{align}\] In particular, the prior-independent advantage \(\mathrm{adv}({\mathcal{M}}) \mathrel{\vcenter{:}}= \sup_{\pi \in [0,1]} \mathrm{adv}_{\pi}({\mathcal{M}})\) satisfies \(\mathrm{adv}({\mathcal{M}}) \le \delta/2\).
Proof. Fix an adjacent pair \({\mathbf{R}}_T \sim {\mathbf{R}}'_T\) and a rule \(\varphi\), and abbreviate \(\mathrm{TPR} = \mathrm{TPR}(\varphi)\), \(\mathrm{FPR} = \mathrm{FPR}(\varphi)\). If \(\pi \le 1/2\), then \(\mathrm{base}_{\pi} = 1 - \pi\) and \[\begin{align} \mathrm{adv}_{\pi,{\mathbf{R}}_T,{\mathbf{R}}'_T}(\varphi;{\mathcal{M}}) = \pi\,\mathrm{TPR} - (1-\pi)\,\mathrm{FPR} \le \pi\,(\mathrm{TPR} - \mathrm{FPR}) \le \pi\,\delta, \end{align}\] where the first inequality uses \(\mathrm{FPR} \ge 0\) and \(1 - \pi \ge \pi\), and the second is Eq. equation 1 . The case \(\pi \ge 1/2\) is symmetric: \[\begin{align} \mathrm{adv}_{\pi,{\mathbf{R}}_T,{\mathbf{R}}'_T}(\varphi;{\mathcal{M}}) = (1-\pi)(1 - \mathrm{FPR}) - \pi(1 - \mathrm{TPR}) \le (1-\pi)(\mathrm{TPR} - \mathrm{FPR}) \le (1-\pi)\,\delta, \end{align}\] using \(1 - \mathrm{TPR} \ge 0\) and \(\pi \ge 1 - \pi\). Taking suprema over \(\varphi\) and over adjacent pairs, and noting \(\min\{\pi, 1-\pi\} \le 1/2\), gives both claims. ◻
We adopt \((0,\delta)\)-DP as the operational privacy definition for the rest of the paper. By Theorem 1, no strong adversary — including the audit target itself — can improve its probability of correctly determining whether a single report was filed by more than \(\delta/2\), whichever prior it holds.
Remark 2 (From reports to whistleblowers). By group privacy, if a whistleblower files at most \(k\) reports, the transcript satisfies \((0,k\delta)\)-DP with respect to that whistleblower’s full contribution (cf. Appendix Corollary 1). Thus Theorem 1 gives person-level additive advantage at most \(k\delta/2\). An auditor targeting person-level advantage \(\alpha_{\mathrm{wb}}\) under a repeat-reporting budget \(k_{\max}\) can set \(\delta=2\alpha_{\mathrm{wb}}/k_{\max}\).
Remark 3 (Intermediate observation times). The guarantee holds at every intermediate time simultaneously. Any prefix \({\mathbf{a}}_{t}\) is itself \((0,\delta)\)-DP, and any decision rule on \({\mathbf{a}}_{t}\) induces a transcript rule with identical error rates, so the advantage bound of Theorem 1 holds verbatim at every \(t \le T\); see Appendix 9 for details.
Our setting differs from prior work in two ways. First, the privacy unit is a single report, but the public observable is the entire sequence of audit decisions in \([C]\), rather than a noisy count vector or histogram. Second, prior whistleblower mechanisms [10], [17] randomize each report at submission time under an untrusted-auditor model. We instead trust the auditor with the reports but treat the audit transcript as public and observed by a powerful insider adversary. Thus privacy must hold for a report’s effect on the full audit transcript over horizon \(T\), not merely for a privatized message.
If privacy were not a concern, we assume the auditor would like to select the audit target with the largest number of whistleblower reports to audit next. To quantify this, we define the error of an auditing mechanism \({\mathcal{M}}\) as the probability it does not select the audit target with the current largest number of reports.
Definition 4 (Error). Fix a time \(t \in [T]\) and a report stream prefix \({\mathbf{R}}_t\). Let \[C_t^* \mathrel{\vcenter{:}}= \mathop{\mathrm{arg\,max}}_{c \in [C]} n_{t, c}\] be the set of audit targets with the largest active count (Definition 3) immediately before the audit decision at time \(t\). The error of a mechanism \({\mathcal{M}}\) at time \(t\) is the mis-selection probability \[\Pr[a_t \notin C_t^*],\] where the probability is over the mechanism’s randomness, and both \(a_t\) and \(C_t^*\) are random through the mechanism’s own decision prefix \({\mathbf{a}}_{t-1}\).
We now have a concrete way to compare mechanisms. For any mechanism \({\mathcal{M}}\) that satisfies Conditions 1 and 2, the auditor offers a fixed per-report DP parameter \(\delta\), which implies a baseline-independent additive-advantage bound of \(\delta/2\) (Theorem 1). For this privacy level, a better mechanism has strictly lower error, as defined in Definition 4. The next natural questions are what guarantees exist for existing mechanisms, and whether we can do better.
A natural baseline is to apply randomized response at the audit-selection step [17]: with some probability \(p_{\mathrm{rand}}\) the auditor ignores the reports and selects an audit target uniformly at random, and otherwise selects the target with the largest current report count. Prior work has applied this to whistleblowing [10]. The mechanism is described in Algorithm 6.
Randomized response satisfies \((0,\, 1 - p_{\mathrm{rand}}^{\,T})\)-DP at horizon \(T\) (Proposition 11), and its one-step error is at most \(\frac{C-1}{C}\,p_{\mathrm{rand}}\), with equality whenever the current maximizer is unique (Proposition 12). Calibrating through Proposition 11 requires \(p_{\mathrm{rand}} \ge (1-\delta)^{1/T}\), which tends to \(1\) as the horizon grows; this is the calibration we use for the experimental baseline in Section 8. However, a smaller exploration probability also cannot reconcile a fixed privacy level with informative audit selection: the privacy requirement pins randomized response to within \(\delta\) of uniform random auditing, already at the first audit decision. The following theorem shows this:
Theorem 2 (Privacy pins randomized response to near-uniform auditing). Fix \(C \ge 2\), a horizon \(T \ge 1\), and \(p_{\mathrm{rand}} \in [0,1]\). If Algorithm 6 satisfies \((0,\delta)\)-DP at horizon \(T\) for some \(\delta \in [0,1)\), then \[p_{\mathrm{rand}} \;\ge\; 1 - \frac{\delta C}{C-1}.\] Consequently, for every \(t \le T\) and every pre-decision history \(\mathcal{H}_{t-1} = h\) under which the active-count maximizer \(c_t^*\) is unique, \[\Pr[a_t \ne c_t^* \mid \mathcal{H}_{t-1} = h] \;=\; \frac{C-1}{C}\,p_{\mathrm{rand}} \;\ge\; \frac{C-1}{C} - \delta.\] In particular, no calibration of randomized response, at any horizon, improves on the error \(\frac{C-1}{C}\) of uniform random auditing by more than \(\delta\). The full proof can be found in section 14.3.1.
Remark 4 (Tightness, and no degradation over time). The requirement of Theorem 2 is tight up to the constant multiplying \(\delta\): the choice \(p_{\mathrm{rand}} = C/(C+\delta)\) already suffices for \((0,\delta)\)-DP at every* horizon simultaneously (Proposition 13), because the report reset (Condition 2) erases the influence of a report the first time its target is audited, so leakage does not accumulate with \(T\). Hence the optimal error of \((0,\delta)\)-DP randomized response lies in \(\bigl[\tfrac{C-1}{C} - \delta,\; \tfrac{C-1}{C+\delta}\bigr]\): a gap-insensitive constant within \(\Theta(\delta)\) of uniform auditing, independent of the horizon. The failure of randomized response is thus not that its privacy degrades over time, but that at any useful privacy level it must explore almost always and therefore cannot react to the report gap — in contrast to the mechanism of Section 5.1, whose error vanishes as the gap grows.*
Randomized response solves the privacy problem at the selection step; however, by Theorem 2 this pins its error within \(\delta\) of uniform random auditing, however large the report gap. Using continual counting mechanisms, we instead privatize the report counts, so that a growing gap can outrun the noise. These mechanisms take a stream of non-negative counts and output noisy running totals at each step:
Definition 5 (Continual-counting mechanism). Fix a horizon \(T \in \mathbb{N}\). A continual-counting mechanism* \(\mathcal{C}\) is a randomized online process which, when fed a stream \(x_1,\dots,x_T \in \mathbb{N}_0\) sequentially, outputs after each step \(t \in [T]\) a noisy estimate \(\hat{s}_t\) of the prefix sum \(s_t := \sum_{i=1}^{t} x_i\). Equivalently, for each \(x \in \mathbb{N}_0^T\), the mechanism induces a random output vector \(\mathcal{C}({\mathbf{x}}) = (\hat{s}_1,\dots,\hat{s}_T) \in \mathbb{R}^T\).*
We now give a generic reduction from private continual counting to private auditing (Algorithm 2). Given any continual-counting mechanism \({\mathcal{C}}\), the auditing mechanism \(\mathcal{M}_{{\mathcal{C}}}\) maintains, for each audit target, an independent noisy counter for the number of reports received since that target was last audited. At each time step, the auditor observes the noisy pending counts and audits a target with maximum noisy count. The mechanism implements Condition 2 (Report Reset) by restarting an audit target’s counter after that target is audited.
The privacy argument then reduces to the privacy of the affected continual counter, with target selection and the audit transcript obtained from the noisy counter outputs.
Proposition 3 (Privacy). Fix a horizon \(T \in \mathbb{N}\). If \({\mathcal{C}}\) satisfies \((0,\delta)\)-differential privacy as a continual-counting mechanism on streams of length \(T\), then Algorithm 2, instantiated with \({\mathcal{C}}\), satisfies \((0,\delta)\)-differential privacy with respect to adjacent report streams \({\mathbf{R}}_T \sim {\mathbf{R}}_T'\). That is, for all measurable \(A \subseteq {\mathcal{A}}\), \[\begin{align} \Pr[{\mathcal{M}}_{\mathcal{C}}({\mathbf{R}}_T) \in A] \le \Pr[{\mathcal{M}}_{\mathcal{C}}({\mathbf{R}}_T') \in A] + \delta . \label{eq:privacy95reduction} \end{align}\qquad{(1)}\]
Proof sketch. Let \({\mathbf{R}}_T \sim {\mathbf{R}}_T'\) differ by one report for audit target \(c^\ast\) at time \(t^\ast\). Before \(t^\ast\), the two executions have identical counter inputs and hence identical restart histories. The extra report can therefore enter only one active counter instance, whose two input streams are adjacent. By the assumed \((0,\delta)\)-DP guarantee for the continual counter, the outputs of this affected instance differ by at most \(\delta\) in total variation; all other counter randomness can be coupled identically. The audit transcript is a post-processing of these counter outputs and restart decisions, so it inherits the same \((0,\delta)\)-DP guarantee. See Appendix 15 for the full proof. ◻
Remark 5 (Per-report privacy guarantee).
Proposition 3 guarantees that the audit transcript leaks at most \(\delta\) additional information about whether any single specific report* was filed. If a whistleblower files \(k\) reports (possibly at different times or about different organizations), their overall privacy follows by basic composition [22] and is at most \((0, k\delta)\)-DP.*
We now construct a continual-counting mechanism calibrated for \((0,\delta)\)-DP.
Let \({\mathbf{A}}^{(T)}\in\{0,1\}^{T\times T}\) denote the lower-triangular all-ones prefix-sum matrix, i.e. \({\mathbf{A}}^{(T)}_{i,j} = \mathbf{1}[i\ge j]\). Thus the exact vector of prefix sums of \({\mathbf{x}}\in\mathbb{N}_0^T\) is \({\mathbf{A}}^{(T)}{\mathbf{x}}\). Suppose we are given matrices \({\mathbf{B}}^{(T)},{\mathbf{C}}^{(T)}\in\mathbb{R}^{T\times T}\) such that \({\mathbf{B}}^{(T)}{\mathbf{C}}^{(T)} = {\mathbf{A}}^{(T)}\). We define the associated Gaussian matrix-mechanism counter by \[\label{eq:generic-counter} {\mathcal{C}}({\mathbf{x}}) := {\mathbf{B}}^{(T)}\!\bigl({\mathbf{C}}^{(T)}{\mathbf{x}}+{\mathbf{z}}\bigr), \; {\mathbf{z}}\sim \mathcal{N}(0,\sigma^2 {\mathbf{I}}_T).\tag{2}\]
For privacy, the key quantity is the largest column norm of the encoder: \[\label{eq:definition95mt} M_T \;:=\; \max_{j\in[T]} \|{\mathbf{C}}^{(T)}{\mathbf{e}}_j\|_2\tag{3}\]
Proposition 4 (Base-counter Privacy). Fix \(T\in\mathbb{N}\). Suppose \({\mathcal{C}}\) is defined by eq. (2 ), with \({\mathbf{B}}^{(T)}{\mathbf{C}}^{(T)}={\mathbf{A}}^{(T)}\). If the noise scale is chosen as
\[\label{eq:def95variance} \sigma = \frac{M_T}{2\,\Phi^{-1}((1+\delta)/2)},\qquad{(2)}\] where \(M_T\) is defined as in eq. (3 ), then \({\mathcal{C}}\) is \((0,\delta)\)-differentially private. Throughout, we write \(\kappa_\delta := \Phi^{-1}\!\left((1+\delta)/2\right)\), so that the noise scale can equivalently be written as \(\sigma = M_T / (2\kappa_\delta)\).
The proof (Appendix 16) follows by applying Lemma 3 to the encoded shift \({\mathbf{C}}^{(T)}{\mathbf{e}}_{j^*}\), whose norm is at most \(M_T\), and post-processing through \({\mathbf{B}}^{(T)}\).
To maximize utility, we use the Toeplitz factorization of [18] and [19], which is near-optimal for continual counting.
We define the \(T \times T\) lower-triangular Toeplitz matrices \({\mathbf{C}}^{(T)}\) (encoder) and \({\mathbf{B}}^{(T)}\) (decoder) by \[\label{eq:def95toeplitz95matrices} {\mathbf{C}}^{(T)}_{i,j} = {\mathbf{B}}^{(T)}_{i,j} := \begin{cases} f_{i-j} & \text{if } i \ge j, \\ 0 & \text{if } i < j. \end{cases}\tag{4}\] where the sequence \((f_k)_{k \ge 0}\) is given by \[f_0 = 1, \qquad f_k = \Bigl(1 - \frac{1}{2k}\Bigr)f_{k-1} \quad\text{for } k \ge 1\]
The convolution properties of this sequence yields \({\mathbf{B}}^{(T)}{\mathbf{C}}^{(T)}={\mathbf{A}}^{(T)}\) (Lemma 1 & 2 [18]).
Lemma 1 (Sensitivity Bound for the Toeplitz Encoder). For the encoder \({\mathbf{C}}^{(T)}\) above, \[\|{\mathbf{C}}^{(T)}{\mathbf{e}}_j\|_2^2 = \sum_{k=0}^{T-j} f_k^2 \le \sum_{k=0}^{T-1} f_k^2\] which equals \(M_T^2\) eq. (3 ), as the maximum is attained at \(j=1\). Moreover, \(M_T = \mathcal{O}(\sqrt{\log T})\).
Proof. The first identity is immediate from the definition of \({\mathbf{C}}^{(T)}\). The \(\mathcal{O}(\sqrt{\log T})\) bound follows from the analysis in [19] (Lemma 2.1). ◻
Instantiating Algorithm 2 with this Toeplitz-based counter – running one independent copy per organization and restarting after each audit – yields our final mechanism, which satisfies \((0,\delta)\)-DP. This factorization was shown to be optimal among lower-triangular Toeplitz factorizations for continual counting [19]. We use this instantiation throughout the remainder of the paper.
We now derive a utility guarantee (Definition 4) for the above mechanism. To begin, define the noise history of the mechanism.
Definition 6 (History). \(\mathcal{H}_{t-1} := \sigma\bigl(\{\tilde{n}_{c,s} : c \in [C],\, s \le t-1\}\bigr)\) is the \(\sigma\)-algebra generated by all noisy counter outputs up to time \(t-1\). The audit decisions \(a_1,\dots,a_{t-1}\) are \(\mathcal{H}_{t-1}\)-measurable.
Definition 7 (Effective gap). For any realisation of \(\mathcal{H}_{t-1}\) and any challenger \(c \ne c^*_t\), the effective gap* between true leader \(c^*_t\) and challenger \(c\) at time \(t\) is \[\label{eq:eff-gap} \tilde{\Delta}_{t, c} \;:=\; \underbrace{(n_{t, c^*_t} - n_{t, c})}_{\text{true gap}\;\Delta_{t, c}} \;+\; \underbrace{(G_{t, c^*_t} - G_{t, c})}_{\text{accumulated past noise difference}}\tag{5}\] where \(\Delta_{t, c} = n_{t, c^*_t} - n_{t, c} > 0\) and \(G_{t, c}\) is defined in eq. (?? ). Note that \(\tilde{\Delta}_{t, c}\) is fully determined by \(\mathcal{H}_{t-1}\) and the data.*
Theorem 5 (Utility of Algorithm 2 with Toeplitz Factorization). Fix any time \(t \ge 1\). For any realisation \(h\) of \(\mathcal{H}_{t-1}\) such that \(c^*_t\) is the unique* true leader (\(\Delta_{t, c} > 0\) for all \(c \ne c^*_t\)), the conditional error satisfies \[\label{eq:cond-utility} \Pr\bigl[a_t \ne c^*_t \mid \mathcal{H}_{t-1} = h\bigr] \;\le\; \sum_{c\,\ne\,c^*_t} \Phi\!\left(-\frac{\sqrt{2}\,\kappa_\delta\,\tilde{\Delta}_{t, c}}{M_T}\right),\tag{6}\] where each term is exact (equality, not merely an upper bound) for its corresponding challenger.*
For a proof, see Appendix 17.
Remark 6 (Optimality). The error bound eq. (6 ) depends on the noise calibration only through \(\sigma = M_T/(2\kappa_\delta)\). Since smaller \(M_T\) means smaller \(\sigma\) and hence smaller error, and since Proposition 2.2 of [19] shows the above factorization uniquely minimises \(M_T = \sqrt{\mathrm{MaxErr}({\mathbf{B}}^{(T)},{\mathbf{C}}^{(T)})}\) over all lower-triangular Toeplitz factorisations, the above mechanism provides the tightest error bound within this class at any fixed privacy level \(\delta\).
Remark 7 (Comparison with Randomized Response). Theorem 2 shows that any \((0,\delta)\)-DP calibration of randomized response has error at least \(\frac{C-1}{C} - \delta\) at every timestep, independent of the report gap. By contrast, the bound of Theorem 5 vanishes whenever the effective gap satisfies \(\tilde{\Delta}_{t,c}/\sqrt{\log T} \to \infty\), as when gaps grow with accumulated reports. At any fixed privacy level, randomized response is thus gap-insensitive while our mechanism’s error decays as the gap grows.
We compare Toeplitz Continual Auditing (TCA), with Randomized Response [17], uniformly random auditing, and non-private (greedy) auditing in two simulation studies. All private mechanisms are calibrated to the same per-report \((0, \delta)\)-DP guarantee over the relevant horizon; full details can be found in Appendix 18.
Theorem 5 predicts that TCA’s error should decrease as the effective gap between the true leader and its challengers grows, with noise scale governed by \(M_T=\mathcal{O}(\sqrt{\log T})\). To isolate this effect, we consider a single audit decision with one leading organization \(c_0\) having active count \(n_0=\Delta\) and all other organizations having active count \(n_c=0\). We vary \(\Delta\) and estimate the mis-selection probability \(\Pr[a \neq c_0]\). Figure 3 (a) shows the expected qualitative pattern: TCA’s error decreases rapidly as the gap grows, while randomized response is essentially insensitive to the gap. The advantage increases with the number of audited organizations (Appendix Figures 7–9).
Figure 3: Utility Simulation. (a) Static gap sweep: TCA’s mis-selection rate decreases as the leader–runner-up gap \(\Delta\) grows, while randomized response remains nearly gap-insensitive. (b) Dynamic auditing: TCA incurs substantially lower running active-count deficit than randomized response and uniform auditing, approaching the non-private greedy baseline.. a — Mis-selection rate as a function of the leading gap., b — Running average active-count deficit over time.
Experiment 2: Dynamic auditing. The static experiment isolates a single decision, but real auditing is online: each audit resets the selected organization’s active count, so different mechanisms induce different future states. We therefore simulate a streaming report process over a fixed horizon \(T\) and measure the active count deficit: \(d_t^{\mathcal{M}} := \max_{c} n^{\mathcal{M}}_{t,c} - n^{\mathcal{M}}_{t, a_t}\), computed before the reset at time \(t\) — the regret of \({\mathcal{M}}\)’s selection against the best available active count. Figure 3 (b) shows that TCA remains close to the greedy auditor, while randomized response accumulates much larger deficits.
First, the per-whistleblower guarantee degrades linearly in the number of reports \(k\) under group privacy (Lemma 2, Corollary 1). Second, the threat model assumes that the auditor is a trusted entity that will not leak the private report counts. While this is a standard threat model assumption in centralized differential privacy, it may be worth strengthening the threat model by omitting a trusted auditor. Mechanisms that satisfy local differential privacy [23] such as the randomized response approach described in Section 4 would likely be sufficient to guarantee privacy under this threat model. Third, we were unable to obtain any data from a real-world auditing setup. An evaluation with real-world data could expose additional practical considerations that may have been missed in this work.
The economics literature has long studied the design of intervention rules that protect informants from retaliation [10], [24], with randomized response [17] supplying the canonical garbling primitive. Empirical auditing work confirms that whistleblower reports causally affect downstream audit intensity [20]. On the systems side, deployed pipelines such as SecureDrop and academic designs Dissent and Riposte [25] target sender-anonymity using mix-nets, DC-nets, or PIR. Recent cryptographic work establishes that anonymous transfer without trusted parties is fundamentally hard [26], [27], motivating our information-theoretic, DP-based approach in which deniability is provided by the auditor’s randomized policy rather than by network-level anonymity.
Our mechanism builds on the model introduced by [28] and refined by [29], which gives polylogarithmic-error counters and top-\(k\) extensions. Recent matrix-factorization mechanisms achieve near-optimal constants [18], [30] and admit efficient streaming implementations [19], [31]. We instantiate our generic counter-and-reset scheme with a Toeplitz factorization to obtain \(O(\sqrt{\log T})\) noise.
At each audit step we solve a private argmax over noisy counters, a problem whose canonical solutions are the exponential mechanism [32], Report-Noisy-Max [22], and Permute-and-Flip [33]. When candidate scores are themselves DP outputs, [34] and [35] give general selection frameworks. Closest in structure to our work are differentially private multi-armed bandit algorithms that maintain per-arm tree-counters [36]. However, they differ on three concrete axes: 1. their adjacency unit is a single pull or reward (vs. a single report on our transcript); 2. their objective is cumulative regret over an exploration horizon (vs. count-leader identification at every step under a fixed \((0, \delta)\) constraint); and 3. their feedback model uses stochastic rewards after each pull to update arm estimates (vs. direct report counts with no reward channel from the audit). Bandit regret bounds therefore do not transfer to deniability guarantees, and our utility theorem (Theorem 5) has no analogue in the bandit literature.
Translating \((\epsilon,\delta)\)-DP into operational deniability guarantees has recently been unified across re-identification, attribute-inference, and reconstruction risks via \(f\)-DP [21]; this is also the framework that links DP to GDPR-style “singling out” [37]. Empirical auditing of DP claims complements this view [38]. In AI governance, calls for external scrutiny of frontier systems [15], [16], responsible reporting frameworks [16], and end-to-end algorithmic-audit processes [14] all envision insider information as a key signal. Our work supplies the missing technical primitive: an auditor policy whose randomization gives whistleblowers a quantifiable deniability guarantee even after many rounds of audits—he setting in which randomized response is provably pinned within \(\delta\) of uniform auditing at any horizon.
We formalized an auditing setup for whistleblower anonymity and showed that the canonical primitive, randomized response, cannot improve on uniform random auditing by more than \(\delta\) at any fixed \((0,\delta)\)-level, at any horizon. We then proposed a generic counter-and-restart mechanism whose privacy is inherited by post-processing from any \((0,\delta)\)-DP continual-counting mechanism, and instantiated it with the Toeplitz factorization of [18] and [19], yielding per-report \((0,\delta)\)-DP with noise calibrated by \(M_T = \mathcal{O}(\sqrt{\log T})\). Our utility theorem shows that the error decays whenever the effective leader–challenger gap grows faster than \(\sqrt{\log T}\). Natural extensions include tightening the per-whistleblower guarantee for multiple reports beyond group privacy, and empirical evaluation on real audit pipelines. While this mechanism is intended to make reporting channels more credible by limiting what audit transcripts reveal about individual reports, the guarantee applies only under the stated threat model and should not be taken to protect against operational failures such as access-log leaks, non-anonymous reporting channels, overly narrow audit scopes, or retaliation based on side information.
This research was enabled by support provided by Mila – Québec AI Institute and by École Polytechnique de Montréal. LR acknowledges support from the Engineering and Physical Sciences Research Council with grant number EP/S021566/1. MJK is supported through the Canada CIFAR AI Chair program and by a grant from the IVADO R10 cluster.
Table 1 summarizes how the record-level DP objects of [21] instantiate in our whistleblower-auditing setting; see Remark 8 for the formal correspondence.
| Kulynych et al. (record-level DP) | This paper (whistleblower auditing) |
|---|---|
| Dataset \(S\) | Report stream \(\rmR_T\) |
| Mechanism \(M(S) \to \theta \in \Theta\) | Mechanism \(\gM(\rmR_T) \to \rva_T \in[C]^T\) |
| Privacy unit: one record \(z\) | One report at coordinate \((t^*, c^*)\) |
| Neighbours \(S \simeq S'\) (add/remove \(z\)) | Adjacent streams \(\rmR_T \sim \rmR_T'\) (one report differs) |
| Strong adversary knows partial dataset \(\bar S\) | Audit target knows both \(\rmR_T\) and \(\rmR_T'\) (all but the additional report) |
| Prior \(z \sim P\); Bernoulli case \(z = z_b\), \(b \sim \mathrm{Bern}(\pi)\) | Prior \(\pi\) over {filed, silent} (bounds hold uniformly in \(\pi\)) |
| Attack \(A : \Theta \to (\text{guess})\); score \(\hat b : \Theta \to[0,1]\) | Decision rule \(\varphi : [C]^T \to[0,1]\) |
| Membership test \(H_0\!: \theta \sim M(\bar S)\) vs.\(H_1\!: \theta \sim M(\bar S \cup \{z\})\) | \(H_0\!: \rva_T \sim \gM(\rmR_T')\) (silent) vs.\(H_1\!: \rva_T \sim \gM(\rmR_T)\) (filed) |
| \(\mathrm{adv}_{\mathrm{SMIA}} = \sup_\varphi (\mathrm{TPR} - \mathrm{FPR}) \le \eta\) | \(\mathrm{adv}_{\mathrm{SMIA}} \le \delta\) (Eq. [eq:prior-free]) |
| Bernoulli-prior success bound \(\mathrm{succ} \le 1 - R_f(\pi)\) ([21], Thm. D.1) | \(\mathrm{adv}_\pi(\gM) \le \min\{\pi, 1-\pi\}\,\delta\);\(\mathrm{adv}(\gM) \le \delta/2\) (Thm. [thm:advantage]) |
Proposition 6 (TV characterization). A mechanism \({\mathcal{M}}\) satisfies \((0,\delta)\)-DP if and only if for every \({\mathbf{R}}_T \sim {\mathbf{R}}_T'\), \[d_{\mathrm{TV}}\!\bigl({\mathcal{M}}({\mathbf{R}}_T),\, {\mathcal{M}}({\mathbf{R}}_T')\bigr) \;\le\; \delta.\]
Proof. Definition 2 requires \(\Pr[{\mathcal{M}}({\mathbf{R}}_T) \in A] - \Pr[{\mathcal{M}}({\mathbf{R}}_T') \in A] \le \delta\) for every measurable \(A\) and every adjacent pair. Taking the supremum over \(A\), and using that \(\sim\) is symmetric, yields exactly \(d_{\mathrm{TV}}({\mathcal{M}}({\mathbf{R}}_T), {\mathcal{M}}({\mathbf{R}}_T')) \le \delta\). The converse is immediate from the definition of TV distance. ◻
Lemma 2 (Group privacy for \(k\) reports). Suppose \({\mathcal{M}}\) satisfies \((\epsilon,\delta)\)-differential privacy with respect to the single-report adjacency relation in Definition 1. Let \({\mathbf{R}}_T\) and \({\mathbf{R}}'_T\) be report streams that differ in the inclusion or exclusion of at most \(k\) reports. Then, for all measurable \(A \subseteq {\mathcal{A}}_T\), \[\Pr[{\mathcal{M}}({\mathbf{R}}_T) \in A] \leq e^{k\epsilon} \Pr[{\mathcal{M}}({\mathbf{R}}'_T) \in A] + \delta \sum_{i=0}^{k-1} e^{i\epsilon}.\] In particular, if \(\epsilon = 0\), then \({\mathcal{M}}\) satisfies \((0,k\delta)\)-DP for streams differing in at most \(k\) reports.
Proof. Because \({\mathbf{R}}_T\) and \({\mathbf{R}}'_T\) differ in at most \(k\) reports, there exists a sequence of report streams \[{\mathbf{R}}^{(0)}_T, {\mathbf{R}}^{(1)}_T, \ldots, {\mathbf{R}}^{(k)}_T\] such that \({\mathbf{R}}^{(0)}_T = {\mathbf{R}}_T\), \({\mathbf{R}}^{(k)}_T = {\mathbf{R}}'_T\), and each consecutive pair \({\mathbf{R}}^{(j)}_T,{\mathbf{R}}^{(j+1)}_T\) is adjacent in the sense of Definition 1. If the two original streams differ in fewer than \(k\) reports, we may repeat the final stream to obtain a sequence of length \(k\).
Applying \((\epsilon,\delta)\)-DP to the first adjacent pair gives \[\Pr[{\mathcal{M}}({\mathbf{R}}^{(0)}_T) \in A] \leq e^\epsilon \Pr[{\mathcal{M}}({\mathbf{R}}^{(1)}_T) \in A] + \delta.\] Applying the same bound repeatedly yields \[\begin{align} \Pr[{\mathcal{M}}({\mathbf{R}}^{(0)}_T) \in A] &\leq e^{2\epsilon}\Pr[{\mathcal{M}}({\mathbf{R}}^{(2)}_T) \in A] + \delta(1+e^\epsilon) \\ &\leq \cdots \\ &\leq e^{k\epsilon}\Pr[{\mathcal{M}}({\mathbf{R}}^{(k)}_T) \in A] + \delta\sum_{i=0}^{k-1} e^{i\epsilon}. \end{align}\] Substituting \({\mathbf{R}}^{(0)}_T={\mathbf{R}}_T\) and \({\mathbf{R}}^{(k)}_T={\mathbf{R}}'_T\) proves the claim. For \(\epsilon=0\), the sum is \(k\), giving \((0,k\delta)\)-DP. ◻
Corollary 1 (Per-whistleblower advantage). Let \({\mathbf{R}}_T\) and \({\mathbf{R}}'_T\) differ in the inclusion or exclusion of all \(k\) reports attributable to a single whistleblower, with no restriction on when those reports were filed or which audit targets they concern. If \(\mathcal{M}\) satisfies \((0,\delta)\)-differential privacy under single-report adjacency (Definition 1), then the baseline-independent advantage of any adversary in distinguishing \({\mathbf{R}}_T\) from \({\mathbf{R}}'_T\) using the audit transcript is at most \(k\delta/2\).
Proof. By group privacy (Lemma 2), \(\mathcal{M}\) satisfies \((0,k\delta)\)-DP for streams differing in at most \(k\) reports. Applying Theorem 1 with privacy parameter \(k\delta\) therefore gives baseline-independent advantage at most \(k\delta/2\). ◻
Remark 8 (Relation of the advantage to the risk measures of [21]). The weighted game defined in section 3 is the Bernoulli-prior instance of the strong threat model of [21]: their prior over the unknown record specializes to the weight \(\pi\) over \(\{\text{filed}, \text{silent}\}\), and Theorem 1 is their Theorem D.1 evaluated at the trade-off function \(f(\alpha) = \max\{0,\, 1-\delta-\alpha\}\) of \((0,\delta)\)-DP (stated there for replace-one; the add/remove case is identical). Their prior-free SMIA advantage, \(\mathrm{adv}_{\mathrm{SMIA}} \mathrel{\vcenter{:}}= \sup\,(\mathrm{TPR} - \mathrm{FPR})\), is bounded by \(\delta\) via equation 1 ; the two summaries are related by \(\mathrm{adv}({\mathcal{M}}) = \tfrac{1}{2}\,\mathrm{adv}_{\mathrm{SMIA}}\), with the supremum over \(\pi\) attained at \(\pi = 1/2\).
Remark 9 (Intermediate observation times). The transcript-level guarantee implies the same guarantee at every intermediate time. Fix \(t \le T\). Any event \(B \subseteq [C]^t\) concerning the prefix \({\mathbf{a}}_{1:t} = (a_1, \dots, a_t)\) is the cylinder event \(B \times [C]^{T-t}\) concerning the full transcript, so for every adjacent pair \({\mathbf{R}}_T \sim {\mathbf{R}}'_T\), \[\begin{align} \Pr\bigl[{\mathcal{M}}({\mathbf{R}}_T)_{1:t} \in B\bigr] &= \Pr\bigl[{\mathcal{M}}({\mathbf{R}}_T) \in B \times [C]^{T-t}\bigr] \\ &\le \Pr\bigl[{\mathcal{M}}({\mathbf{R}}'_T) \in B \times [C]^{T-t}\bigr] + \delta \\ &= \Pr\bigl[{\mathcal{M}}({\mathbf{R}}'_T)_{1:t} \in B\bigr] + \delta, \end{align}\] i.e., the prefix is itself \((0,\delta)\)-DP. Moreover, every decision rule \(\psi : [C]^t \to [0,1]\) available to an adversary observing only \({\mathbf{a}}_{1:t}\) induces the transcript rule \(\psi({\mathbf{a}}_{t})\) with identical error rates, so the supremum in Theorem 1 over this restricted class is dominated by the supremum over all rules: the advantage bound \(\min\{\pi, 1-\pi\}\,\delta\) holds verbatim at every \(t \le T\). We emphasize that these are not separate guarantees that compose: an adversary observing the audit decisions as they unfold possesses, at every moment, a deterministic function of the single release \({\mathbf{a}}_T\), so all intermediate-time bounds are instances of one transcript-level budget \(\delta\), and no accumulation over observation times occurs. Since our mechanism releases decisions online (Algorithms 2), the prefix \({\mathbf{a}}_{t}\) is exactly the information available to the adversary at time \(t\); the guarantee on the full transcript is therefore the strongest statement of this form.
Proposition 7 (No Nontrivial Privacy for Greedy Auditing). For \(C \ge 2\), the greedy mechanism \({\mathcal{M}}_{\mathrm{greedy}}\) in Algorithm 4 does not satisfy \((0,\delta)\)-differential privacy for any \(\delta < 1 - 1/C\). Moreover, it does not satisfy pure \(\epsilon\)-differential privacy for any finite \(\epsilon\).
Proof. Consider a horizon containing a first audit decision, and let \(C \ge 2\). Let \({\mathbf{R}}'_T\) have no reports at time \(1\), so that all audit targets are tied. Let \({\mathbf{R}}_T\) be identical to \({\mathbf{R}}'_T\) except for one additional report for target \(2\) at time \(1\). Then \({\mathbf{R}}_T \sim {\mathbf{R}}'_T\) by Definition 1.
Under \({\mathbf{R}}_T\), target \(2\) is the unique maximizer, so \[\Pr[{\mathcal{M}}_{\mathrm{greedy}}({\mathbf{R}}_T)_1 = 2] = 1.\] Under \({\mathbf{R}}'_T\), all \(C\) targets are tied and ties are broken uniformly, so \[\Pr[{\mathcal{M}}_{\mathrm{greedy}}({\mathbf{R}}'_T)_1 = 2] = \frac{1}{C}.\] For the event \(S := \{{\mathbf{a}}: a_1 = 2\}\), \((0,\delta)\)-differential privacy therefore requires \[1 \leq \frac{1}{C} + \delta,\] and hence \(\delta \geq 1 - 1/C\). Thus no nontrivial \((0,\delta)\) guarantee with \(\delta < 1 - 1/C\) is possible.
Moreover, pure \(\epsilon\)-differential privacy also fails for every finite \(\epsilon\). Let \(S' := \{{\mathbf{a}}: a_1 = 1\}\). Under \({\mathbf{R}}'_T\), \(\Pr[{\mathcal{M}}_{\mathrm{greedy}}({\mathbf{R}}'_T) \in S'] = 1/C\), whereas under \({\mathbf{R}}_T\), \(\Pr[{\mathcal{M}}_{\mathrm{greedy}}({\mathbf{R}}_T) \in S'] = 0\). Since the adjacency relation is symmetric, pure \(\epsilon\)-DP would require \[\frac{1}{C} \leq e^\epsilon \cdot 0,\] which is impossible for finite \(\epsilon\). ◻
Proposition 8 (Perfect Utility of Greedy Auditing). Let \(n_{t, c}\) denote the active count of audit target \(c\) at time \(t\) as in Definition 3. The greedy mechanism in Algorithm 4 satisfies:
\(a_t \in \arg\max_{c \in [C]} n_{t, c}\) with probability \(1\).
\(\Pr[n_{t, a_t} = 0 \mid \exists c : n_{t, c} > 0] = 0\).
If \(c^\ast\) is the unique maximizer of active counts at time \(t^\ast\), then \(a_{t^\ast}=c^\ast\) with probability \(1\).
The proof follows by construction.
Proposition 9 (Perfect Privacy of Uniformly Random Auditing). The uniformly random mechanism \({\mathcal{M}}_{\mathrm{uni}}\) in Algorithm 5 satisfies \((0,0)\)-differential privacy: for all streams \({\mathbf{R}}_T,{\mathbf{R}}_T'\) of any length (adjacent or not) and all measurable \(S\), \[\Pr[{\mathcal{M}}_{\mathrm{uni}}({\mathbf{R}}_T) \in S] = \Pr[{\mathcal{M}}_{\mathrm{uni}}({\mathbf{R}}_T') \in S].\]
Proof. The output distribution is independent of the report stream. At every timestep, the mechanism samples uniformly from \([C]\), regardless of the input. Therefore, for any two streams \({\mathbf{R}}_T,{\mathbf{R}}_T'\), the induced distributions over audit transcripts are identical. ◻
Proposition 10 (Utility of Uniformly Random Auditing). Let \(n_{t, c}\) denote the active count of audit target \(c\) at time \(t\) as in Definition 3. At any time \(t\):
\(\Pr[a_t = c] = 1/C\) for all \(c \in [C]\), regardless of the active counts.
Conditional on the decision prefix \({\mathbf{a}}_{t-1}\), which fixes the active counts and hence the maximizer set \(C_t^* = \arg\max_{c \in [C]} n_{t, c}\) (Definition 4), \[\Pr\bigl[a_t \in C_t^* \,\big\vert\, {\mathbf{a}}_{1:t-1}\bigr] = \frac{|C_t^*|}{C}.\]
Proof. Items 1 and 2: conditional on the decision prefix \({\mathbf{a}}_{1:t-1}\), the active counts and hence \(C_t^*\) are fixed, while \(a_t \sim \mathrm{Uniform}([C])\) is drawn independently of the past; both identities follow by counting. Item 3: the events \(\{a_t = c^\ast\}\) for \(t \ge t^\ast\) are independent, each of probability \(1/C\), and independent of the report stream. Hence \(t_{\mathrm{exit}} - t^\ast + 1\), the number of steps until \(c^\ast\) is first selected, is geometrically distributed with success probability \(1/C\), and its expectation is \(C\). ◻
We first show the following sufficient condition for \((0, \delta)\)-DP:
Proposition 11 (Privacy of Randomized Response). Fix a horizon \(T \in \mathbb{N}\). Algorithm 6 satisfies \((0, \delta)\)-differential privacy at horizon \(T\) for \(\delta := 1 - p_{\mathrm{rand}}^T\). This is an upper bound* on the privacy loss.*
Proof. We show that, for all adjacent report streams \(\mathbf{R}_T \sim \mathbf{R}'_T\) and all measurable \(A \subseteq {\mathcal{A}}_T\), \[\begin{align} \Pr[{\mathcal{M}}_{\mathrm{RR}}(\mathbf{R}_T) \in A] \le \Pr[{\mathcal{M}}_{\mathrm{RR}}(\mathbf{R}'_T) \in A] + 1 - p_{\mathrm{rand}}^T . \end{align} \label{eq:rr-privacy-goal}\tag{7}\]
Let \(U_1,\dots,U_T \overset{\mathrm{iid}}{\sim} \mathrm{Bernoulli}(p_{\mathrm{rand}})\) be the random coins drawn by the algorithm, independently of the report stream. Define the full-exploration event \[E := \{U_t = 1 \text{ for all } t \in [T]\}, \qquad \Pr[E] = p_{\mathrm{rand}}^T .\]
On \(E\), every round satisfies \(U_t=1\), so Algorithm 6 always explores and outputs \(a_t \sim \mathrm{Uniform}(\{1,\dots,C\})\) independently of the report counts. Thus the conditional output distribution is the same under \(\mathbf{R}_T\) and \(\mathbf{R}'_T\). Hence, for any \(A\), \[\begin{align} \Pr[{\mathcal{M}}_{\mathrm{RR}}(\mathbf{R}_T)\in A \mid E] &= \Pr[{\mathcal{M}}_{\mathrm{RR}}(\mathbf{R}'_T)\in A \mid E] \\ &:= P_0(A). \end{align} \label{eq:same-on-E}\tag{8}\]
For compactness, define \[Q_T(A) := \Pr[{\mathcal{M}}_{\mathrm{RR}}(\mathbf{R}_T)\in A \mid \neg E],\] and \[Q_T'(A) := \Pr[{\mathcal{M}}_{\mathrm{RR}}(\mathbf{R}'_T)\in A \mid \neg E].\] Conditioning on whether \(E\) holds, and using eq. (8 ), gives \[\begin{align} \Pr[{\mathcal{M}}_{\mathrm{RR}}(\mathbf{R}_T)\in A] &= p_{\mathrm{rand}}^T P_0(A) + (1-p_{\mathrm{rand}}^T) Q_T(A), \tag{9} \\ \Pr[{\mathcal{M}}_{\mathrm{RR}}(\mathbf{R}'_T)\in A] &= p_{\mathrm{rand}}^T P_0(A) + (1-p_{\mathrm{rand}}^T) Q_T'(A). \tag{10} \end{align}\] Subtracting eq. (10 ) from eq. (9 ) yields the exact equality \[\begin{align} &\Pr[{\mathcal{M}}_{\mathrm{RR}}(\mathbf{R}_T)\in A] - \Pr[{\mathcal{M}}_{\mathrm{RR}}(\mathbf{R}'_T)\in A] = (1-p_{\mathrm{rand}}^T)\Delta_T(A), \end{align} \label{eq:exact-decomp}\tag{11}\] where \(\Delta_T(A)\mathrel{\vcenter{:}}= Q_T(A) - Q_T'(A)\).
Since \(Q_T(A)\) and \(Q_T'(A)\) are probabilities, \[\Delta_T(A) = Q_T(A) - Q_T'(A) \le 1.\]
Combining eq. (11 ) with Step 3 gives \[\Pr[{\mathcal{M}}_{\mathrm{RR}}(\mathbf{R}_T)\in A] \le \Pr[{\mathcal{M}}_{\mathrm{RR}}(\mathbf{R}'_T)\in A] + 1 - p_{\mathrm{rand}}^T .\] This holds for every \(\mathbf{R}_T\sim\mathbf{R}'_T\) and every \(A\), so Algorithm 6 satisfies \((0,\,1-p_{\mathrm{rand}}^T)\)-DP at horizon \(T\). ◻
We further want to prove the following statement on the error bound.
Proposition 12 (One-step error of randomized response). Fix a horizon \(T \in \mathbb{N}\) and privacy parameter \(\delta \in [0,1)\). A sufficient privacy calibration from Proposition 11 is \[p_{\mathrm{rand}} = (1-\delta)^{1/T}.\] Fix any time \(t \le T\) and condition on any pre-decision history \(\mathcal{H}_{t-1}=h\). Let \(n_{t, c}\) denote the active count of audit target \(c\) at time \(t\) (Definition 3). If \(c_t^*\) is the unique maximizer of the active counts, i.e. \[c_t^* = \arg\max_{c\in[C]} n_{t, c},\] then Algorithm 6 satisfies \[\Pr[a_t \neq c_t^* \mid \mathcal{H}_{t-1}=h] = \frac{C-1}{C}\,p_{\mathrm{rand}}.\] In particular, under the above sufficient privacy calibration, \[\Pr[a_t \neq c_t^* \mid \mathcal{H}_{t-1}=h] = \frac{C-1}{C}(1-\delta)^{1/T}.\]
Remark 10 (Why this parameterisation?). By Proposition 11, Algorithm 6 satisfies \((0,\delta)\)-DP at horizon \(T\) whenever \[1 - p_{\mathrm{rand}}^T \le \delta, \qquad\text{equivalently}\qquad p_{\mathrm{rand}} \ge (1-\delta)^{1/T}.\] Thus the smallest exploration probability certified by Proposition 11 is \[p_{\mathrm{rand}} = (1-\delta)^{1/T}.\] Since the one-step error in Proposition 12 increases linearly with \(p_{\mathrm{rand}}\), this is the error-minimising choice within this sufficient privacy calibration. For fixed \(\delta\), however, \((1-\delta)^{1/T}\to 1\) as \(T\to\infty\), so the mechanism approaches uniformly random auditing over long horizons.
Proof of Proposition 12. Fix a time \(t \le T\) and condition on a pre-decision history \(\mathcal{H}_{t-1}=h\) such that the active counts \(\{n_{t, c}\}_{c\in[C]}\) are fixed and have a unique maximizer \(c_t^*\). Let \(U_t \sim \mathrm{Bernoulli}(p_{\mathrm{rand}})\) be the random coin drawn by the algorithm at round \(t\), independently of the report stream and of the past randomness.
By the law of total probability, \[\begin{align} \Pr[a_t \neq c_t^* \mid \mathcal{H}_{t-1}=h] &= \Pr[U_t=1]\Pr[a_t \neq c_t^* \mid U_t=1,\mathcal{H}_{t-1}=h] \\ &\quad+ \Pr[U_t=0]\Pr[a_t \neq c_t^* \mid U_t=0,\mathcal{H}_{t-1}=h]. \end{align} \label{app:eq:rr-error-total-prob}\tag{12}\]
If \(U_t=1\), the algorithm explores and draws \(a_t \sim \mathrm{Uniform}([C])\). Since exactly one audit target equals \(c_t^*\), \[\Pr[a_t \neq c_t^* \mid U_t=1,\mathcal{H}_{t-1}=h] = \frac{C-1}{C}.\] If \(U_t=0\), the algorithm exploits and chooses \[a_t \in \arg\max_{c\in[C]} n_{t, c}.\] By assumption, \(c_t^*\) is the unique maximizer, so \[\Pr[a_t \neq c_t^* \mid U_t=0,\mathcal{H}_{t-1}=h] = 0.\] Substituting into eq. (12 ) gives \[\Pr[a_t \neq c_t^* \mid \mathcal{H}_{t-1}=h] = p_{\mathrm{rand}}\frac{C-1}{C}.\] Finally, using the sufficient privacy calibration \(p_{\mathrm{rand}}=(1-\delta)^{1/T}\) gives \[\Pr[a_t \neq c_t^* \mid \mathcal{H}_{t-1}=h] = \frac{C-1}{C}(1-\delta)^{1/T}.\] ◻
We now prove the main result of section 4:
Proof. Step 1: Reduction to the first decision. By Remark 3 (the cylinder inequality with \(t = 1\)), \((0,\delta)\)-DP of the transcript implies, for every adjacent pair \({\mathbf{R}}_T \sim {\mathbf{R}}'_T\) and every \(c \in [C]\), \[\Pr[a_1 = c \mid {\mathbf{R}}_T] \;\le\; \Pr[a_1 = c \mid {\mathbf{R}}'_T] + \delta.\]
Step 2: An adjacent pair. Let \({\mathbf{R}}'_T\) be the all-zero stream, and let \({\mathbf{R}}_T\) be identical except for a single report \(r_{1,c^*} = 1\) for an arbitrary \(c^* \in [C]\). The pair is adjacent under Definition 1.
Step 3: First-decision laws. Under \({\mathbf{R}}_T\), the pending counts at \(t=1\) are \(1\) at \(c^*\) and \(0\) elsewhere, so \(c^*\) is the unique maximizer: the exploit branch (probability \(1 - p_{\mathrm{rand}}\)) selects \(c^*\) with certainty, and the explore branch selects it with probability \(1/C\), giving \[\Pr[a_1 = c^* \mid {\mathbf{R}}_T] = (1 - p_{\mathrm{rand}}) + \frac{p_{\mathrm{rand}}}{C}.\] Under \({\mathbf{R}}'_T\), all counts are zero, the exploit branch breaks the \(C\)-way tie uniformly, and the explore branch is uniform, giving \(\Pr[a_1 = c^* \mid {\mathbf{R}}'_T] = 1/C\).
Step 4: Apply the privacy constraint. Applying Step 1 to the event \(\{a_1 = c^*\}\), \[(1 - p_{\mathrm{rand}})\Bigl(1 - \frac{1}{C}\Bigr) = \Pr[a_1 = c^* \mid {\mathbf{R}}_T] - \Pr[a_1 = c^* \mid {\mathbf{R}}'_T] \;\le\; \delta,\] which rearranges to \(p_{\mathrm{rand}} \ge 1 - \delta C/(C-1)\).
Step 5: Error consequence. By Proposition 12, the conditional error at any unique-maximizer history equals \(\frac{C-1}{C} p_{\mathrm{rand}}\); substituting the bound of Step 4 gives \(\frac{C-1}{C} p_{\mathrm{rand}} \ge \frac{C-1}{C}\bigl(1 -\frac{\delta C}{C-1}\bigr) = \frac{C-1}{C} - \delta\). ◻
Proposition 13 (Horizon-independent privacy of randomized response). Fix \(C \ge 2\) and \(p_{\mathrm{rand}} \in (0,1]\). For every horizon \(T \in \mathbb{N}\), Algorithm 6 satisfies \((0, \delta_p)\)-DP with \[\delta_p \;=\; \min\Bigl\{\, 1 - p_{\mathrm{rand}}^{\,T},\; \frac{C\,(1-p_{\mathrm{rand}})}{p_{\mathrm{rand}}} \,\Bigr\}.\] In particular, \(p_{\mathrm{rand}} \ge C/(C+\delta)\) implies \((0,\delta)\)-DP at every horizon simultaneously.
Proof. The first term is Proposition 11; we prove the second by a coupling argument. Write \(p = p_{\mathrm{rand}}\). Fix an adjacent pair differing at \((t^*, c^*)\); by symmetry of total variation we may assume \({\mathbf{R}}_T\) contains the extra report. Couple the two executions on shared randomness: the same explore/exploit indicators \(U_1, \dots, U_T \sim \mathrm{Bern}(p)\), the same exploration targets \(V_1, \dots, V_T \sim \mathrm{Unif}[C]\), and, at each exploit step, a maximal coupling of the two worlds’ selection distributions given their current pending counts. Let \((a_t)\) and \((a'_t)\) denote the coupled transcripts.
Claim 1: State tracking. On the event that \(a_s = a'_s\) for all \(s < t\), the two worlds’ pending counts at the decision at time \(t\) agree in every coordinate \(c \ne c^*\), and differ at \(c^*\) by exactly \(1\) if \(t \ge t^*\) and \(c^*\) has not been audited at any \(s \in [t^*, t)\), and by \(0\) otherwise. This follows by induction on \(t\): identical decisions imply identical resets, all report inputs agree except the single extra report at \((t^*, c^*)\), and an audit of \(c^*\) at any \(s \ge t^*\) resets both worlds’ \(c^*\)-counts to zero simultaneously, after which all inputs agree.
Claim 2: No divergence before \(t^*\). For \(t < t^*\) the counts agree in all coordinates (Claim 1), so at exploit steps the two selection distributions are identical and the maximal coupling makes the decisions agree with probability \(1\); at explore steps both select \(V_t\). Hence the first disagreement, if any, occurs at some \(t \ge t^*\).
Claim 3: Explore-hits force permanent agreement. Define the explore-hit event \(E_s := \{U_s = \text{explore},\, V_s = c^*\}\), with \(\Pr[E_s] = p/C\), independent across \(s\) and of all other randomness. If no disagreement has occurred before \(s \ge t^*\) and \(E_s\) occurs, then both worlds audit \(c^*\) at step \(s\); by Claim 1 their counts coincide in all coordinates from step \(s{+}1\) onward, all subsequent inputs agree, and by the argument of Claim 2 the decisions agree at every later step. The transcripts then never differ.
Claim 4: Divergence requires exploitation. At an explore step both worlds select \(V_t\), so a first disagreement at step \(t\) requires \(U_t = \text{exploit}\).
Combining Claims 2–4: if the first disagreement occurs at step \(t\), then \(t \ge t^*\), \(U_t = \text{exploit}\), and no explore-hit \(E_s\) occurred for \(s \in [t^*, t)\) (else, by Claim 3, disagreement would be impossible at \(t\)). Since these are events over independent coins, \[\Pr[\text{first disagreement at } t] \;\le\; (1-p)\,\Bigl(1 - \frac{p}{C}\Bigr)^{t - t^*},\] and summing over \(t \ge t^*\), \[\Pr[\text{transcripts ever differ}] \;\le\; (1-p) \sum_{k=0}^{\infty} \Bigl(1 - \frac{p}{C}\Bigr)^{k} \;=\; \frac{C\,(1-p)}{p}.\] By the coupling characterization of total variation, \(d_{\mathrm{TV}}({\mathcal{M}}({\mathbf{R}}_T), {\mathcal{M}}({\mathbf{R}}'_T)) \le C(1-p)/p\) for every adjacent pair, which by Proposition 6 gives the claimed \((0, C(1-p)/p)\)-DP at every horizon. The final statement follows since \(C(1-p)/p \le \delta \iff p \ge C/(C+\delta)\). ◻
Remark 11 (The reset is essential). The proof of Proposition 13 uses Condition 2 in Claim 1: auditing \(c^*\) removes the differing report from both worlds’ states. For a variant of randomized response running on cumulative counts without resets, the influence of a single report persists past audits of its target, and a horizon-independent guarantee of this form need not hold.
We give the full proof of Proposition 3; the sketch appears in Section 5.2.
Proof. Let \({\mathbf{R}}_T \sim {\mathbf{R}}_T'\) be any adjacent pair, differing at \((t^*, c^*)\) with \(r'_{t^*,c^*} = r_{t^*,c^*} + 1\) and \(r_{t,c} = r'_{t,c}\) for all \((t,c) \ne (t^*,c^*)\). The proof has four steps.
Step 1: The transcript is a deterministic function of counter outputs.
At each step \(t\), the decision \(a_t = \arg\max_c \tilde{n}_{t,c}\) is a deterministic function of \(\{\tilde{n}_{t,c}\}_{c \in [C]}\), which are outputs of the counter instances. By induction over \(t\), the full transcript \((a_1, \ldots, a_T)\) is a deterministic function \(g\) of the collection of all outputs produced by all counter instances across all steps.
Step 2: Identify the unique counter instance affected by the extra report.
We show by induction on \(t\) that for all \(t < t^*\), all counter outputs at step \(t\) are the same random variables under \({\mathbf{R}}_T\) and \({\mathbf{R}}_T'\).
Base case (\(t = 1\), or vacuously if \(t^* = 1\)): at \(t=1\) all instances are freshly initialized with randomness drawn independently of all data. Since \(r_{1,c} = r'_{1,c}\) for every \(c\) (the streams agree at \(t=1\) if \(t^* > 1\)), all counter outputs at \(t=1\) are identical under both streams.
Inductive step: assume all counter outputs at steps \(1, \ldots, t-1\) are identical under \({\mathbf{R}}_T\) and \({\mathbf{R}}_T'\). Then \(a_{t-1}\) is the same under both streams. Any restart at step \(t-1\) produces a fresh instance with randomness drawn independently of all data; since the restart event is identical, this instance is the same random object under both streams. At step \(t\), each \({\mathcal{C}}_c\) receives the same input \(r_{t,c} = r'_{t,c}\) (as \(t < t^*\)) and has the same internal state, so its output is identical. The induction goes through.
It follows that the audit history \(\mathcal{H}_{t^*-1} = (a_1, \ldots, a_{t^*-1})\) is identical under \({\mathbf{R}}_T\) and \({\mathbf{R}}_T'\). In particular, the restart history of \(c^*\) up to \(t^*-1\) is the same, so the counter instance \({\mathcal{C}}_{c^*}^*\) that is active for \(c^*\) at time \(t^*\) — started at some step \(s^* \le t^*\) — is the same object (same randomness, started at the same step) under both streams.
For \(c \ne c^*\): reports are identical under \({\mathbf{R}}_T\) and \({\mathbf{R}}_T'\) at all times, and restart decisions (driven by \(\mathcal{H}\)) are the same. Hence every instance of \({\mathcal{C}}_c\) is the same random variable under both streams.
For \(c = c^*\): every instance of \({\mathcal{C}}_{c^*}\) other than \({\mathcal{C}}_{c^*}^*\) either ran entirely before \(t^*\) (identical inputs) or starts fresh after some audit of \(c^*\) at time \(s > t^*\) (with reports identical for all \(t \ne t^*\), and identical restart times conditional on \({\mathcal{C}}_{c^*}^*\) agreeing — see Step 4). In either case its inputs do not include the extra report.
The only instance whose input stream differs between \({\mathbf{R}}_T\) and \({\mathbf{R}}_T'\) is \({\mathcal{C}}_{c^*}^*\): it receives \(r_{t,c^*}\) under \({\mathbf{R}}_T\) and \(r_{t,c^*} + \mathbf{1}[t=t^*]\) under \({\mathbf{R}}_T'\) at each step of its run, so its input streams are adjacent (differing at position \(j^* = t^* - s^* + 1 \le T\)).
Step 3: Apply the DP guarantee of \({\mathcal{C}}\).
Since \({\mathcal{C}}_{c^*}^*\) processes a stream of length at most \(T\) that is adjacent between \({\mathbf{R}}_T\) and \({\mathbf{R}}_T'\), and \({\mathcal{C}}\) satisfies \((0,\delta)\)-DP: \[d_{\mathrm{TV}}\!\bigl( \text{outputs of } {\mathcal{C}}_{c^*}^* \text{ under } R,\; \text{outputs of } {\mathcal{C}}_{c^*}^* \text{ under } R' \bigr) \;\le\; \delta.\]
Step 4: Couple all counter outputs and conclude.
Couple all counter instances identically except \({\mathcal{C}}_{c^*}^*\) (possible since they are the same random variables under both streams). For \({\mathcal{C}}_{c^*}^*\), use the optimal coupling, which achieves \(\Pr[{\mathcal{C}}_{c^*}^*\text{ disagrees}] \le \delta\).
Conditional on \({\mathcal{C}}_{c^*}^*\) agreeing: \(a_{t^*}\) is the same under both streams (it is a deterministic function of the noisy counts, all of which are now identical). Therefore all subsequent restarts occur at the same times, all subsequent counter inputs are identical (reports agree everywhere except at \(t^*\), already handled), and all subsequent counter outputs can be coupled identically. Hence: \[\Pr[\text{any counter output disagrees}] \;\le\; \delta.\] Since \(g\) is deterministic, agreement of all counter outputs implies agreement of transcripts. By the coupling characterisation of TV distance: \[d_{\mathrm{TV}}\!\bigl(\mathcal{M}(R),\, \mathcal{M}(R')\bigr) \;\le\; \Pr[\text{transcripts disagree}] \;\le\; \delta.\] Since \(d_{\mathrm{TV}}(P,Q) = \sup_\mathcal{A}|\Pr[P \in \mathcal{A}] - \Pr[Q \in \mathcal{A}]|\), this gives \((0,\delta)\)-DP for all adjacent pairs. ◻
Before proving Proposition 4 we state a useful textbook Lemma.
Lemma 3 (TV distance for shifted Gaussians). If \[P=\mathcal{N}(\boldsymbol{\mu},\sigma^2 {\mathbf{I}}_n), \qquad Q=\mathcal{N}(\boldsymbol{\mu}+\Delta,\sigma^2 {\mathbf{I}}_n),\] then \[d_{\mathrm{TV}}(P,Q) = 2\Phi\!\left(\frac{\|\Delta\|_2}{2\sigma}\right)-1,\] where \(\Phi\) is the standard Gaussian CDF.
Proof of Proposition 4. Let \({\mathbf{x}}\sim {\mathbf{x}}'\) be adjacent, differing only in coordinate \(j^*\). Then \({\mathbf{x}}'-{\mathbf{x}}={\mathbf{e}}_{j^*}\), so the encoded noisy vectors satisfy \[{\mathbf{C}}^{(T)}{\mathbf{x}}' + {\mathbf{z}} = {\mathbf{C}}^{(T)}{\mathbf{x}}+ {\mathbf{z}}+ {\mathbf{C}}^{(T)}{\mathbf{e}}_{j^*}.\] Thus the two encoded distributions are Gaussians with common covariance \(\sigma^2 {\mathbf{I}}_T\) and mean shift \(\Delta = {\mathbf{C}}^{(T)}{\mathbf{e}}_{j^*}\). By Lemma 3, \[\begin{align} d_{\mathrm{TV}}\left({\mathbf{C}}^{(T)}{\mathbf{x}}' + {\mathbf{z}}, {\mathbf{C}}^{(T)}{\mathbf{x}}+ {\mathbf{z}}\right) = 2\Phi\!\left(\frac{\|{\mathbf{C}}^{(T)}{\mathbf{e}}_{j^*}\|_2}{2\sigma}\right)-1 \le 2\Phi\!\left(\frac{M_T}{2\sigma}\right)-1 = \delta. \end{align}\] Since \({\mathcal{C}}({\mathbf{x}})\) is obtained from the encoded noisy vector by deterministic post-processing through \({\mathbf{B}}^{(T)}\), total variation cannot increase. Hence \({\mathcal{C}}\) is \((0,\delta)\)-DP. ◻
The proof of Theorem 5 in Section 7.1 relies on the following Lemma.
Lemma 4 (Fresh-noise decomposition). Fix any time \(t \in [T]\) and any audit target \(c \in [C]\). Let \(\ell:=\ell_{t,c}\in [T]\) be the length of the active run of \(c\) at time \(t\) and define \(\tau_c:=t-\ell_{t,c}+1\). For simplicity, we re-number and write \(\mathbf{x}^{(t,c)}:=(x^{(t,c)}_1,\dots,x^{(t,c)}_{\ell_{t,c}})\) for the report counts in that run, and \(\boldsymbol{\zeta}^{(t,c)}:=(\zeta^{(t,c)}_1,\dots,\zeta^{(t,c)}_{\ell_{t,c}})\) for the Gaussian noise vector associated with the active instance of the Gaussian matrix counter instantiated by the \(\ell_{t,c}\times \ell_{t,c}\) leading principal truncations \({\mathbf{B}}^{(\ell_{t,c})}\) and \({\mathbf{C}}^{(\ell_{t,c})}\).
Define \[\label{eq:Gct} G_{t,c} := \sum_{j=1}^{\ell_{t,c}-1} f_{\ell_{t,c}-j} \zeta^{(t,c)}_j,\qquad{(3)}\] with \(G_{t,c}:=0\) if \(\ell_{t,c}=1\). Then the noisy pending count satisfies \[\label{eq:decomp-ct} \tilde{n}_{t, c} = \underbrace{n_{t, c}+G_{t,c}}_{=:\mu_{t, c}} + \zeta^{(t, c)}_{\ell_{t,c}},\qquad{(4)}\] where \(n_{t, c}=\sum_{j=1}^{\ell_{t,c}} x^{(t, c)}_j\) is the count of currently active reports. Moreover:
conditionally on \(\mathcal{H}_{t-1} = h\), the fresh coordinate \(\zeta^{(t, c)}_{\ell_{t, c}}\) is distributed \(\mathcal{N}(0,\sigma^2)\);
for \(c\neq c'\), the variables \(\zeta^{(t, c)}_{\ell_{t,c}}\) and \(\zeta^{(t,c')}_{\ell_{(t, c')}}\) are independent
Proof. Since the active run has length \(\ell_{t,c}\), the current counter output is the \(\ell_{t,c}\)-th output of the truncated mechanism, i.e. \[\tilde{n}_{t, c} = n_{t, c} + ({\mathbf{B}}^{(\ell_{t,c})} \boldsymbol{\zeta}^{(t, c)})_{\ell_{t,c}}\] Because \({\mathbf{B}}^{(\ell_{t,c})}\) is lower-triangular Toeplitz with \[{\mathbf{B}}^{(\ell_{t,c})}_{\ell_{t,c},j}=f_{\ell_{t,c}-j} \qquad\text{for } 1\le j\le \ell_{t,c},\] we obtain \[\begin{align} ({\mathbf{B}}^{(\ell_{t,c})} \boldsymbol{\zeta}^{(t, c)})_{\ell_{t,c}} &= \sum_{j=1}^{\ell_{t,c}} f_{{\ell_{t,c}}-j} \zeta^{(t,c)}_j \notag\\ &= f_0 \zeta^{(t, c)}_{\ell_{t,c}} + \sum_{j=1}^{\ell_{t,c}-1} f_{\ell_{t,c}-j} \zeta^{(t, c)}_{j} \notag\\ &= \zeta^{(t, c)}_{\ell_{t,c}} + G_{t, c} \label{eq:toeplitz-expand} \end{align}\tag{13}\] using \(f_0=1\) and the definition of \(G_{t, c}\). This proves eq. (?? ).
For part (i), every earlier output of the same active instance corresponds to some run-position \(\ell <\ell_{t,c}\), and therefore depends only on \(\zeta^{(t, c)}_1,\dots,\zeta^{(t, c)}_{l}\), hence only on \(\zeta^{(t, c)}_1,\dots,\zeta^{(t, c)}_{\ell_{t,c}-1}\). Thus the coordinate \(\zeta^{(t, c)}_{\ell_{t,c}}\) has not appeared in any previous output of the active instance. Since the coordinates of \(\zeta^{(t, c)}_{\ell_{t,c}}\) are i.i.d.Gaussian, \(\zeta^{(t, c)}_{\ell_{t,c}}\) is independent of \(\zeta^{(t, c)}_1,\dots,\zeta^{(t, c)}_{\ell_{t,c}-1}\) and therefore independent of \(\mathcal{H}_{t-1}\).
For part (ii), if \(c\neq c'\), then the active instances for \(c\) and \(c'\) use independently sampled Gaussian vectors. Hence the fresh coordinates \(\zeta^{(t, c)}_{\ell_{t,c}}\) and \(\zeta^{(t, c')}_{\ell_{t,c}}\) are independent. ◻
Proof of Theorem 5. Throughout, condition on \(\mathcal{H}_{t-1} = h\), which fixes \(\ell_c\), \(n_{t, c}\), \(G_c\), \(\mu_{t, c} = n_{t, c} + G_c\), and \(c^*_t\). The only remaining randomness is \(\{\zeta^{(t, c)}_{\ell_{t,c}}\}_{c \in [C]}\).
Step 1: Noisy counts in terms of fresh noise. By Lemma 4, \(\tilde{n}_{t, c} = \mu_{t, c} + \zeta^{(t, c)}_{\ell_{t,c}}\) where \(\{\zeta^{(t, c)}_{\ell_{t,c}}\}_{c \in [C]}\) are i.i.d.\(\mathcal{N}(0,\sigma^2)\), independent of \(h\). Hence \(a_t = \arg\max_{c}(\mu_{t, c} + \zeta^{(t, c)}_{\ell_{t,c}})\).
Step 2: Union bound over challengers. \[\bigl\{a_t \ne c^*_t\bigr\} \;\subseteq\; \bigcup_{c\,\ne\,c^*_t} \bigl\{ \zeta^{(t, c)}_{\ell_{t,c}} - \zeta^{(t, c^*_t)}_{\ell_{t, c^*_t}} \;\ge\; \mu_{c^*_t} - \mu_{t, c} \bigr\}.\] By the union bound: \[\label{eq:union} \Pr\bigl[a_t \ne c^*_t \mid h\bigr] \;\le\; \sum_{c\,\ne\,c^*_t} \Pr\!\bigl[W_c \ge \tilde{\Delta}_{t, c} \mid h\bigr],\tag{14}\] where \(W_c := \zeta^{(t, c)}_{\ell_{t,c}} - \zeta^{(t, c^*_t)}_{\ell_{t, c^*_t}}\).
Step 3: Exact probability for each challenger. By Lemma 4(i)–(ii), \(\zeta^{(t, c)}_{\ell_{t,c}}\) and \(\zeta^{(t, c^*_t)}_{\ell_{t, c^*_t}}\) are independent \(\mathcal{N}(0,\sigma^2)\) variables, independent of \(h\). Their difference satisfies \(W_c \sim \mathcal{N}(0, 2\sigma^2)\), so \[\label{eq:exact} \Pr\bigl[W_c \ge \tilde{\Delta}_{t, c} \mid h\bigr] \;=\; \Phi\!\left(-\frac{\tilde{\Delta}_{t, c}}{\sqrt{2}\,\sigma}\right).\tag{15}\] This is an equality, not an inequality.
Step 4: Substitute the noise calibration. With \(\sigma = M_T/(2\kappa_\delta)\), we have \(\sqrt{2}\,\sigma = M_T/(\sqrt{2}\,\kappa_\delta)\), so \(\tilde{\Delta}_{t,c}/(\sqrt{2}\,\sigma) = \sqrt{2}\,\kappa_\delta\,\tilde{\Delta}_{t,c}/M_T\). Substituting into eq. (14 ) via eq. (15 ) gives the conditional bound eq. (6 ). Taking expectations and applying the law of total expectation gives the desired result. ◻
Remark 12 (A sufficient condition for small unconditional error). A condition on true pending counts (before noise) can be given as follows. Let \[\mathsf{ME}_T := \mathrm{MaxErr}({\mathbf{B}}^{(T)},{\mathbf{C}}^{(T)}) = M_T^2 .\] For any \(c \ne c^*_t\), the accumulated-noise difference \(G_{t,c^*_t} - G_{t,c}\) is mean-zero Gaussian with variance \(V \le 2\sigma^2 M_T^2\). Therefore, \[\begin{align} \Pr\!\left[ \tilde{\Delta}_{t,c} \le \frac{\Delta_{t,c}}{2} \right] &= \Pr\!\left[ G_{t,c^*_t} - G_{t,c} \le -\frac{\Delta_{t, c}}{2} \right] \notag \\ &\le \exp\!\left( -\frac{\Delta_{t, c}^2}{16\sigma^2 M_T^2} \right) \notag \\ &= \exp\!\left( -\frac{\kappa_\delta^2\Delta_{t,c}^2}{4\mathsf{ME}_T^2} \right). \end{align}\] Here the inequality uses the one-sided Gaussian tail bound \(\Pr[Y \le -\lambda] \le \exp(-\lambda^2/(2V))\) for \(Y \sim \mathcal{N}(0,V)\), and the final equality uses \(\sigma = M_T/(2\kappa_\delta)\).
By total probability, for each challenger \(c\), \[\begin{align} \Pr[\tilde{n}_{t,c} \ge \tilde{n}_{t,c^*_t}] &\le \Phi\!\left( -\frac{\kappa_\delta\Delta_{t,c}}{\sqrt{2}M_T} \right) + \exp\!\left( -\frac{\kappa_\delta^2\Delta_{t,c}^2}{4\mathsf{ME}_T^2} \right). \end{align}\] Both terms decrease rapidly as \(\Delta_{t,c}\) grows, giving an unconditional error bound in terms of the true pending-count advantage alone.
Remark 13 (Interpretation of the effective gap \(\tilde{\Delta}_{t,c}\)). The effective gap decomposes as \(\tilde{\Delta}_{t,c} = \Delta_{t,c} + (G_{t,c^*_t} - G_{t,c})\), where \(\Delta_{t,c} > 0\) is the true pending-count advantage and \(G_{t,c^*_t} - G_{t,c}\) is the difference of accumulated past noise terms. The latter has mean zero and variance \(\sigma^2\bigl(\sum_{k=1}^{\ell_{c^*_t}-1}f_k^2 + \sum_{k=1}^{\ell_{t,c}-1}f_k^2\bigr) \le 2\sigma^2 M_T^2\). When \(\Delta_{t,c}\) is large relative to \(\sigma M_T\), the accumulated noise is unlikely to reverse the ordering and the effective gap is typically close to \(\Delta_{t,c}\).
Remark 14 (Tightness of the error bound). The only inequality in the proof is the union bound (Step 2), which is tight when one challenger dominates the sum, for example when \(C=2\) (a single challenger, in which case the bound is an equality) or when one challenger has a much smaller effective gap than all others. The per-challenger probabilities eq. (15 ) are equalities. The bound is therefore the tightest of this form.
All experiments were run on a standard laptop/CPU machine; no GPU was used. The full experiment suite completes in under 10 minutes.
The goal of this set of experiments is to show that TCA’s mis-selection rate decays sharply with the gap \(\Delta\) between the leader and the runner-up, while RR is essentially gap-independent and saturates near \((C-1)/C\). The sweep over the number of audit targets \(C\) sweep demonstrates that the qualitative picture is robust across pool sizes spanning 1.5 orders of magnitude; the gap required to suppress mis-selection grows only mildly with \(C\) (roughly like \(\sigma\sqrt{2\ln C}\), the scale of the maximum of \(C-1\) Gaussians).
We fix a single-shot configuration: each audit target has been observed for exactly \(L\) steps since its last reset, and the pending counts are \(n_0 = \Delta\) for the leader (audit target \(c_0)\) and \(n_c = 0\) for all other audit targets.
For each \((L, \delta, \Delta)\) we run \(S = 1000\) Monte-Carlo trials and estimate \(\Pr[a \neq 0]\). For TCA we exploit that the total noise on each audit target at run length \(L\) is Gaussian with variance \(\sigma^2 \sum_{k=0}^{L-1} f_k^2\), drawn independently per audit target. Greedy and uniform-random mis-selection probabilities are computed in closed form (0 if \(\Delta>0\), \((C-1)/C\) if \(\Delta=0\) for greedy; \((C-1)/C\) always for uniform).
| Parameter | Value |
|---|---|
| audit target counts \(C\) | \(\{5,\;20,\;50,\;200\}\) (one figure each) |
| Run lengths \(L\) | \(\{100,\;1000\}\) (one panel each) |
| Privacy parameters \(\delta\) | \(\{0.05,\;0.10,\;0.20\}\) |
| Gaps \(\Delta\) | \(\{0,\;1,\;2,\;4,\;8,\;16,\;32,\;64,\;128\}\) |
| Monte-Carlo trials per point | \(S = 1000\) |
| RNG seed (TCA) | 42 |
| RNG seed (RR) | 123 |
Calibrated noise scales are independent of \(C\): TCA’s \(\sigma\) depends only on \(L\) and \(\delta\), and likewise \(p_{\mathrm{rand}}\) for RR.
| \(L\) | \(\delta\) | \(\sigma\) | \(p_{\mathrm{rand}}\) |
|---|---|---|---|
| 100 | 0.05 | 12.6862 | 0.999487 |
| 100 | 0.10 | 6.3306 | 0.998947 |
| 100 | 0.20 | 3.1400 | 0.997771 |
| 1000 | 0.05 | 14.4078 | 0.999949 |
| 1000 | 0.10 | 7.1897 | 0.999895 |
| 1000 | 0.20 | 3.5661 | 0.999777 |
We evaluate the mechanisms in an online report stream with report resets. The goal of this experiment is to measure how much utility is lost over time when using a private auditing mechanism rather than the non-private greedy baseline.
We compare four auditing mechanisms:
Toeplitz Counter Auditing (TCA). Each audit target runs an independent Toeplitz continual-counting instance. At each timestep the mechanism audits the audit target with the largest noisy active-count estimate. After an audit, the selected audit target’s active count and private counter instance are reset with fresh independent randomness.
Randomized response auditing (RR). With probability \(p_{\mathrm{rand}}=(1-\delta)^{1/T}\), the mechanism audits a uniformly random audit target. With probability \(1-p_{\mathrm{rand}}\), it audits an audit target with maximal active count, with ties broken uniformly at random. After the audit, the selected audit target’s active count is reset. This reset step is important: RR is evaluated under the same active-report auditing semantics as TCA and Greedy.
Greedy auditing. The mechanism audits an audit target with maximal active count, with ties broken uniformly at random. After the audit, the selected audit target’s active count is reset. This is a non-private upper baseline.
Uniform random auditing. The mechanism audits a uniformly random audit target, ignoring reports. After the audit, the selected audit target’s active count is reset. This is a privacy-only lower baseline.
For each run, the private mechanisms are calibrated to the same transcript-level privacy guarantee \((0,\delta)\) over the same certified horizon \(T\). TCA uses the Gaussian Toeplitz calibration \[\sigma = \frac{M_T}{2\Phi^{-1}((1+\delta)/2)},\] where \(M_T\) is the Toeplitz encoder sensitivity. Randomized response uses \[p_{\mathrm{rand}} = (1-\delta)^{1/T}.\] Thus both private mechanisms are compared under the same fixed-horizon privacy requirement.
We generate reports from an independent Poisson model. At each timestep \(t\), audit target \(0\) receives reports \[x_{t,0} \sim \mathrm{Poisson}(\lambda_{\mathrm{lead}}),\] and each other audit target \(c\in\{1,\ldots,C-1\}\) receives reports \[x_{t,c} \sim \mathrm{Poisson}(\lambda_{\mathrm{other}}).\] All draws are independent across timesteps and audit targets. Although audit target \(0\) has the highest arrival rate in expectation, the audit target with maximal active count need not be audit target \(0\) at a given timestep, because audits reset active reports.
Each mechanism \(\mathcal{M}\) maintains its own active-count vector \[n_t^{\mathcal{M}} = (n_{t, 1}^{\mathcal{M}},\ldots,n_{t, C}^{\mathcal{M}}),\] because different mechanisms audit different audit targets and therefore induce different reset histories. At each timestep \(t\), the new report vector \(x_t\) is added to that mechanism’s active counts. The mechanism then selects an audited audit target \(a_t^{\mathcal{M}}\). All utility metrics are computed before applying the reset. Finally, the selected audit target is reset: \[n_{t,a_t^{\mathcal{M}}}^{\mathcal{M}} \leftarrow 0.\] For TCA, the selected audit target’s private counter instance is also restarted.
Our primary metric is the active-count deficit \[d_t^{\mathcal{M}} := \max_{c\in[C]} n_{t,c}^{\mathcal{M}} - n_{t,a_t^{\mathcal{M}}}^{\mathcal{M}}.\] This measures how many fewer active reports are resolved by \(\mathcal{M}\)’s selected audit than by the best available audit under the same reset history. We report the running average deficit \[\bar d_t^{\mathcal{M}} := \frac{1}{t}\sum_{s=1}^t d_s^{\mathcal{M}}.\] We also compute a normalized deficit, \[\eta_t^{\mathcal{M}} := \frac{d_t^{\mathcal{M}}}{\max_{c\in[C]} n_{t,c}^{\mathcal{M}}+1},\] and its running average \[\bar\eta_t^{\mathcal{M}} := \frac{1}{t}\sum_{s=1}^t \eta_s^{\mathcal{M}}.\] The normalized version is useful for comparing regimes with different report volumes. Finally, we record the number of reports resolved by the selected audit, \[u_t^{\mathcal{M}} := n_{t, a_t^{\mathcal{M}}}^{\mathcal{M}},\] and its running average \[\bar u_t^{\mathcal{M}} := \frac{1}{t}\sum_{s=1}^t u_s^{\mathcal{M}}.\] Lower values of \(\bar d_t^{\mathcal{M}}\) and \(\bar\eta_t^{\mathcal{M}}\) indicate better performance, while higher values of \(\bar u_t^{\mathcal{M}}\) indicate that audits are resolving more active reports.
Unless otherwise stated, we use \[C=50,\qquad T=1000,\qquad \delta=0.10,\qquad \lambda_{\mathrm{lead}}=1.0,\qquad \lambda_{\mathrm{other}}=0.2.\] We average over \(100\) independent random seeds. For each seed, the same generated report stream is fed to each mechanism, but each mechanism maintains its own active counts and reset history. We plot the mean running metric across seeds with.
Greedy auditing has zero active-count deficit by construction. Uniform random auditing ignores reports and therefore provides a lower utility baseline. Randomized response is expected to behave close to uniform random auditing in long horizons, because the fixed-horizon privacy calibration makes \(p_{\mathrm{rand}}\) close to one. TCA should accumulate substantially less active-count deficit when the active-count gaps are large relative to the calibrated counter noise.
We vary the number of audit targets in the setup of Experiment 1 and show the results in Figures 7-9. TCA curves move closer to uniform random auditing, but still have low mis-selection rates as the report gap grows.
Our framework is defined by a small number of operational choices regarding the audit targets \(c \in [C]\), the audit horizon \(T\) and the target per-report deniability level \(\delta\). We describe these choices in a frontier-AI auditing setting, where confidential reports from employees or contractors may inform follow-up audits, model evaluations, or compliance reviews.
In this setting, the auditor may be a public authority, an AI-safety institute, or a trusted third-party evaluator. The adversary is the audited developer, which observes the audit transcript and may know substantial internal context
The utility theorem can also be read operationally. If the true leading audit target has effective gap at least \(g\) over every challenger, then Theorem 5 implies \[\begin{align} \Pr[a_t \neq c_t^* \mid \mathcal{H}_{t-1}] \leq (C-1)\Phi\!\left(-\frac{g}{\sqrt{2}\sigma}\right). \end{align}\] Thus, the main implementation trade-offs are explicit: larger \(C\) requires distinguishing the leader from more challengers; smaller \(\delta\) gives stronger deniability but increases noise; and larger \(T\) has only a logarithmic effect on the noise scale.
The audit unit \(c\) need not be an entire legal organization. It can denote a sub-team, product line, safety process, or other regulator-chosen unit.↩︎