Continuous privacy monitoring

Know when a safe agent starts to drift.

Prompts change, tools are added and models are swapped after release. AgentLeak samples live runs, watches the rolling privacy score and alerts on sustained regression or a severity the deployment has never produced before.

support-router / production5% SAMPLE
ROLLING SCORE88+6 since baseline
Window20 runsAlert on drop10 ptsNew severityImmediate
Monitoring in process · alert failures never interrupt the agent

Sample without owning the hot path

Score a configurable share of runs in process. Five percent gives a useful trend at production volume without turning every response into a security job.

  • Configurable sampling rate
  • Rolling score window
  • No background thread or timer
  • Optional workspace submission

Alerts that earn attention

Wait for enough evidence before alerting on ordinary drift, but report a severity the deployment has never seen on its first occurrence.

  • Sustained drop threshold
  • Optional absolute score floor
  • Immediate new-severity alert
  • Baseline follows improvement, not regression

Failure-isolated by design

Monitoring must never become the reason an agent stops serving users. Alert callbacks run outside the lock and their errors are swallowed.

  • In-process and thread-free
  • Alert failures do not propagate
  • Nothing leaves the machine by default
  • Same deterministic score as CI

The mental model

A release gate proves one version. Monitoring proves the system is still behaving.

Agent systems change through prompts, retrieved context, tools and providers—sometimes without a code release. A rolling privacy signal catches that operational drift while preserving the same evidence model used before deployment.

Before

The last passing pull request stands in for the current system.

With AgentLeak

Sampled production evidence shows whether the current system still holds its boundary.

  • One unlucky sample cannot trigger a trend alert
  • A never-before-seen severity bypasses the waiting window
  • The monitor cannot break the agent when notification infrastructure fails

How it works

From sampled run to an actionable signal.

1

Choose the sample

Set the share of runs to score, the rolling window and the minimum number of samples before trend alerts.

2

Wrap the agent call

Use watch() only when the monitor selects a run; unsampled traffic stays on its normal path.

3

Record the report

Feed the deterministic report back to the monitor so it can update its baseline and rolling trend.

4

Route the alert

Send a sustained drop, floor crossing or new severity to the channel your team already operates.

Watch a sampled production run

from agentleak import Monitor, watch

monitor = Monitor(sample=0.05, drop=10, on_alert=notify_team)

if monitor.should_sample():
    with watch(project="support-bot") as run:
        answer = agent(request)
    monitor.record(run.report.to_dict())

Read the complete implementation guide →

FAQ

Questions, answered.

Ready when you are

Test the path, not only the answer.

Create a local workspace, run a bundled scenario, then wire AgentLeak into CI or let your agent onboard itself.