Security Policy¶
Supported Versions¶
| Version | Supported |
|---|---|
| 0.0.x | Yes |
Reporting a Vulnerability¶
Report security vulnerabilities by opening a private advisory or by emailing sebastian.rousseau@gmail.com.
Do not open a public issue for security reports.
Include:
- A description of the vulnerability.
- Steps to reproduce.
- Affected versions.
- Any suggested fix (optional).
Expect an initial response within 48 hours. A fix or mitigation plan will follow within 7 days of confirmation.
Security Design¶
draft is a local CLI that orchestrates other tools. Its posture:
- No tokens on disk. Session backends shell out to an already-authenticated
agent CLI (
claude,copilot, …);draftnever reads, stores, or logs an API key. - No shell interpolation. External tools (
pdftotext,textutil, the provider CLIs, Ollama) are invoked with argument vectors viaos/execandnet/http, never through a shell, and always under a cancellable context with timeouts. - Prompt-injection aware. Template and source text are quoted to the model as untrusted evidence, and the writing prompt explicitly instructs it to ignore any instructions found inside them.
- Grounding as a control. Every fact must trace to a verbatim-quote-verified claim; ungrounded numbers and silent metric conversions are flagged and unverifiable claims are dropped before writing.
Agent Trust Surface¶
Online, draft drives an AI coding-agent CLI in its non-interactive mode, some
of which auto-approve tool use (for example copilot --allow-all-tools). draft
asks only for text and treats your sources as untrusted, but you are still
handing a research document to an agent that can act on your machine. Treat
sources as you would any untrusted input, and prefer the offline Ollama backend
(--engine ollama) for material you do not trust.