EXECUTION PRIVACY / OPEN SOURCE

Same permission.
Different choice.
Hidden disclosure.

An agent can reveal private information without sending a single private word. PurposeTrace finds the difference between executions that should agree.

Local Python toolNo model callsNo runtime dependencies
COMPARISON 001Same authorized view
AUTHORIZED IN BOTH RUNS

Standard support · Billing request

east availablewest available
EXECUTION A
Private account noteOrdinary account
DISCLOSED QUEUE

billing-east

✓ Permitted queue
EXECUTION B
Private account noteConfidential review
DISCLOSED QUEUE

billing-west

✓ Permitted queue
≠
Private context moved the decision.

Compare the runs. Find the channel.

Synthetic example · No messages are sent

THE QUESTION CHANGES

“Is this output allowed?”
“What made this output different?”

A ↔ B

01 / MAKE THE DEPENDENCE VISIBLE

Change the private context.
Watch what leaves.

Hold the permitted inputs constant. Compare the meaningful disclosure, with explicit handling for randomness and missing evidence.

TRY A ROUTING STRATEGY

This interactive example runs locally in your browser. The Python CLI performs the full policy validation, repeated execution, and statistical analysis.

A / ORDINARY NOTEbilling-east

Standard support

≠
B / CONFIDENTIAL NOTEbilling-west

Standard support

VIOLATION

Authorized inputs match. The selected queue changes with the private note.

01

Declare the boundary.

Classify every input. Select the disclosure fields that matter. Missing or undeclared fields stop the audit.

02

Collect comparable runs.

Fix the agent version and environment. Vary the private context. Repeat with controlled seeds or independent samples.

03

Keep the evidence.

Get changed field paths, sample coverage, and a clear exit code. Store minimized evidence and portable reports.

02 / RUN IT ON YOUR MACHINE

A real workflow.
An inspectable result.

Install from source, then execute the included synthetic routing adapter. The first campaign deliberately exposes a disclosure dependency.

Read the full documentation ↗
Python 3.11+
Local replay: macOS or Linux
File audits: platform independent
TERMINAL / QUICKSTART
git clone https://github.com/sagarchhatrala/purpose-trace.git
cd purpose-trace
python3 -m venv .venv
source .venv/bin/activate
python -m pip install .

purpose-trace run \
  --policy examples/policy.json \
  --manifest examples/manifest.json \
  --output /tmp/purpose-leak \
  -- python examples/leaky_router.py
EXPECTED RESULTVIOLATION exit 1

12 executions · 3 comparison groups · /queue

03 / OPEN THE EVIDENCE

Your report.
On your device.

Load the JSON report from your own campaign. The viewer displays the result already computed by PurposeTrace. Your file stays in this browser.

No upload · No analytics

Choose a report or inspect the recorded synthetic campaign.

BUILT FOR A CLEAR JOB

Evidence before
the next release.

Bounded offline audits and CI gates.

Deterministic mode checks repeatability and matched observations. Statistical mode compares distributions with corrected significance thresholds. Incomplete evidence returns an inconclusive result.

A clean result describes the executions you supplied. Your policy, collector, environment controls, and coverage determine what it means. Replay runs trusted adapters; it is not an operating-system sandbox.

Understand the security model ↗