The list
- No biometric data. No facial recognition, no fingerprints, no voiceprints, and — the one people assume — no keystroke dynamics. The agent hooks the keyboard to read what was typed into an AI composer, never to characterise how an individual types. This distinction matters legally: biometric privacy statutes (like Illinois’s BIPA) are the most feared privacy laws in the United States, and none of them apply here.
- Nothing on non-AI surfaces. Documents, spreadsheets, email, and general web browsing are not read. Page addresses are checked only to decide whether a browser tab is an AI site, and are not retained unless it is.
- Nothing inside attached files. Attachments record name, size, and type only. The file is never opened.
- No stored secrets. When a Social Security number, payment card number, or credential is detected in a prompt, the value is replaced before storage. Two independent server-side filters run before persistence — detected secret spans, plus credential-shaped text a classifier would never catch (
--passwordflags, tokens in URLs,Authorizationheaders, PEM keys). The record shows that a secret was present and that the send was blocked; it does not contain the secret. - No camera, microphone, screenshots, or location.
- No screen reading. We read the text a person composes and the identity of the window — never the rendered screen. This is also why we cannot tell which terminal tab you are in: Windows exposes no per-tab window handle, and reading the rendered screen to answer that question is a line we refuse to cross.
Where monitoring does happen, and how narrow it is
Coapro watches exactly four kinds of surfaces — places where a person is communicating with an AI assistant:
- AI chat applications;
- browser tabs on known AI sites;
- the Copilot pane inside Microsoft Office applications; and
- terminal windows in which an AI command-line tool is running.
The terminal question, answered plainly
A terminal is the one surface where keystrokes must be captured directly, so it gets the strictest rule: a terminal is watched only when every session in it is an AI session. One ordinary shell tab in the window and the whole window is unwatched.
Within a watched session, two additional bounds apply:
- The watch is verifiable by anyone.
coapro-agent --probe-terminalsprints, per terminal, whether it is watched, why, and which processes the watch depends on. - Capture stops when the AI tool does. The watch names the AI process it depends on and verifies that process is alive at the point of capture. The moment the AI tool exits, the session stops being recorded — not at the next poll.
And two honest limits: within a watched session, everything typed is buffered — the narrowness is in when we listen, never in judging what you typed. And text typed in one window is never recorded against another; buffers are keyed per window.
What is stored about each event
When a prompt is evaluated, the default record contains the category of anything sensitive detected (for example, “an SSN was detected”), a cryptographic hash of the prompt, its length, and the decision. The matched value itself is not stored. Verbatim prompt content, where the customer opts into retention at all, is deleted on a short window — seven days by default — that the customer can configure but not exceed thirty.
The result: our product database is not the largest concentration of sensitive PII in the customer’s company. A stolen credential, a subpoena, or an insider with database access will not surface raw personal data, because raw personal data is not in the row.
What the people monitored can see
Every employee can see everything collected about them — their profile, their coaching progress, their lesson history — on their own page, without needing to ask anyone. Managers see patterns about their direct reports, not prompts. Reading verbatim text is limited to defined administrative roles, and every such access is logged.
Verify it yourself
None of this is a promise to be taken on faith. The narrowness claims above are testable: install the agent, work in a spreadsheet for an hour, and check that nothing was recorded. Run the probe command and read what a terminal watch depends on. Reviewers who want the full data map should start with the Monitoring & the Law page and the Privacy Policy; security questionnaires are welcome at privacy@coapro.org.