Requests and evidence
What shim captures for a matched request, who can open it, and how long each version is kept.
On this page
A request is one prompt or file that matched a rule, together with everything that happened to it: the review, the employee’s choice and any edited or masked version. Requests lists the 100 most recent, newest first.
What is captured
- The exact original prompt, only when a rule matches. This includes monitor-only matches and prompts the employee later cancelled, edited or masked.
- The applied version, once an edited or masked draft passes the recheck and replaces the composer text. It is stored under the same request.
- The employee’s choice and, for Send once, the optional explanation they wrote. Only administrators can read the explanation, beside the request in the inspector.
- The rules that matched, the policy and version in force, the device, the application and the outcome.
- The ChatGPT, Claude or Gemini account email seen on the page, and the conversation ID once the prompt is sent. Cancelled and blocked prompts have no conversation ID. Missing values show as unavailable.
- For a flagged file or long text pasted into Claude: its name and what shim flagged in it. Each distinct value appears once, with where it was found (a page, a part of the document or a line), how many times it occurs and up to 40 characters around it from the same line, for up to 25 values. The rest of the file is never captured.
Prompts that match no rule are never captured. Matched values are reported only inside captured content: the prompt itself, or a flagged file’s findings.
Security. Edits the final check rejects are not recorded as applied versions. The employee’s explanation is only ever their own words and never filled in from the prompt.
Who can open a prompt
Lists, filters and the overview never contain prompt text or file findings. Prompt content and file findings are fetched only when an administrator opens a request, and only for their own organization. Viewers see the request list and the overview feed, but cannot open prompts or read Send once explanations or account and conversation context. The alpha console cannot create viewer accounts yet, so every account is an administrator.
Find a request
Search and the Filter menu narrow the list by app, source (prompt or file), device, team, policy, detection, result, choice and date. Active filters appear as removable chips. Filtering uses request metadata and never opens prompt content.
| Result | Meaning |
|---|---|
| Allowed | The check let the prompt be sent |
| Edited | The employee’s edited version was applied |
| Masked | The masked version was applied |
| Blocked | Sending stopped |
| Cancelled | The employee kept the draft and did not send |
Limit. Allowed means the browser check permitted the submission. shim does not confirm that the AI application received it.
Read a request
Opening a request shows the prompt first. A revised request opens on Changes, a word-level comparison of the original and the applied version, with Original and Edited or Masked as tabs. Detected spans are highlighted, found again with the rules of the policy version that request was checked against. Masked text shows readable keys such as [REDACTED_1]; the same value always gets the same number.
Below the prompt are the activity trail, the explanation if one was written, and the account, conversation, rules, device and IDs. Step between requests with the arrows in the inspector header, or press J for the next request and K for the previous one.
Retention
Each captured version becomes unavailable 90 days after its own capture event. The inspector shows when each version is deleted. An hourly task on the console server clears expired prompt content from the database.
Request metadata, the employee’s choice, the Send once explanation and the account and conversation context are kept after the prompt content expires. There is currently no deletion period for them.
AI apps
The console’s AI apps page shows which listed AI apps your managed browsers opened in the last 30 or 90 days: how many browsers opened an app shim doesn’t check, and for each app how many browsers opened it, on how many days, how many on each day and whether shim protects it. Viewers see these organization totals only. Administrators also see which teams and browsers opened each app, and in each browser’s device details which apps it used.
Browsers record apps only while their policy turns on AI app discovery. Browsers whose policy turns it off are left out of the counts, including apps they opened before it was turned off, and the page says how many. Each browser records an app once per UTC day, when a tab opens it or is open on it at a sync, so a pinned tab counts every day it stays open. It never records the address, the page or what was typed, and skips incognito windows. It keeps up to seven days of unsent records and drops the oldest past that. The console deletes each record 90 days after its day.
Security. Database backups keep whatever they contain. Set backup retention so prompt content does not outlive the 90-day window.
Label an app
Each app has a label: Not reviewed, the default, Approved or Not approved. Administrators set it under Label in the app’s details, which show who set it and when. Every console user sees the label on the app’s row and can show apps by label. A label records your organization’s decision; it never blocks or allows anything. Labels hold no device or employee data and are kept until an administrator changes them.
Block an app
shim doesn’t block AI apps. To block one, add its sites to the URLBlocklist policy of your managed Chrome and Edge browsers, where you set ExtensionInstallForcelist. Block in Chrome or Edge in each app’s details lists its entries, such as chat.deepseek.com, and copies one on click. An entry without a scheme blocks that host and its subdomains. Edge accepts up to 1,000 entries.
Reporting from browsers
Browsers queue reports locally and upload them in batches of up to 25 events and 256 KiB. The queue holds up to 1,000 events and 4 MiB; prompt content in the queue also expires. A full queue or a failed upload shows as needing attention in the extension’s status. Reporting is separate from enforcement: the check happens on the device before the prompt is sent.