PromptDiff provides security updates for the following release tracks:
| Version | Supported |
|---|---|
| 3.4.x | ✅ |
| 3.x.x | ✅ |
| < 3.0.0 | ❌ |
We take the security of PromptDiff seriously. If you discover a vulnerability or security concern, please follow responsible disclosure guidelines:
- Do NOT report vulnerabilities through public GitHub issues.
- Report vulnerabilities via GitHub's private vulnerability reporting feature:
- Navigate to the Security tab of the repository
- Click Report a vulnerability
- Or email the maintainers directly at:
security@promptdiff.org
- Detailed description of the issue
- Steps or a minimal reproducible example to reproduce the vulnerability
- Potential impact and severity assessment
- Any suggested fixes or mitigations
PromptDiff maintains explicit Service Level Agreements (SLAs) for vulnerability triage, remediation, and patch distribution:
| Severity | CVSS v3.1 Range | Initial Acknowledgment | Root-Cause Confirmation | Security Patch Release |
|---|---|---|---|---|
| Critical | 9.0 – 10.0 | < 24 hours | < 48 hours | < 72 hours |
| High | 7.0 – 8.9 | < 48 hours | < 4 business days | < 7 business days |
| Medium | 4.0 – 6.9 | < 5 business days | < 10 business days | Next minor release |
| Low | 0.1 – 3.9 | < 10 business days | Best effort | Next minor release |
- Emergency Hotfixes: Critical vulnerabilities (e.g. sandbox escapes, credential leakage, remote code execution) receive expedited emergency hotfixes released to PyPI outside the standard release cycle.
- CVE Attribution: Reporters of validated security issues will be credited in GitHub Security Advisories and release notes.
PromptDiff operates under an absolute local-first, zero-telemetry exfiltration architecture.
When running evaluations with telemetry enabled, PromptDiff records evaluation records into a local SQLite database (default: .promptdiff/telemetry.db):
- Run Metadata: Unique
run_id, timestamp, prompt version identifiers, overall pass/fail status, and aggregate cost/latency deltas. - Execution Telemetry: Rendered prompt inputs, model completion outputs, token usage counts, and evaluator scores for each test case.
- Zero Cloud Exfiltration: PromptDiff does NOT collect, transmit, or phone home any prompt contents, model responses, or error traces to external analytics servers. All evaluation data resides solely on the machine running the command.
- Provider Confidentiality: API traffic is directed strictly to your configured LLM endpoints (e.g. OpenAI, Anthropic, Bedrock, or local Ollama/vLLM instances).
- Offline / Mock Mode: Running with
--mockexecutes 100% offline with zero outbound network requests.
You maintain full control over disk storage and can sanitize historical data through multiple mechanisms:
-
Automatic Pruning During Runs:
Pass
--db-retention-days <N>to automatically prune runs older than$N$ days:promptdiff test v1.txt v2.txt --inputs cases.jsonl --db-retention-days 30 -
Dedicated CLI Maintenance:
Prune historical records at any time:
promptdiff db prune --days 14
-
Complete Database Reset:
Wipe all historical records instantly:
promptdiff db clear # or manually remove the database: rm -rf .promptdiff/telemetry.db -
Ephemeral Execution:
To avoid persisting data to disk entirely, route storage to in-memory SQLite:
promptdiff test v1.txt v2.txt --inputs cases.jsonl --db-path ":memory:"