Privacy and data handling
What does the scanner read on disk?
What does the scanner read on disk?
command / args / url, the client, and any project path — not your raw config files. For skills and plugins it submits metadata plus bounded artifact text (capped at 1 MB per file and 5 MB per artifact) so the backend can risk-classify the artifact. See What the scan reads.Does Detect scan running processes or listening ports?
Does Detect scan running processes or listening ports?
Can the scan be scoped or limited?
Can the scan be scoped or limited?
node_modules, .git, .venv, caches, Library/Application Support, AppData, and more). Project-level discovery is bounded by --project-depth (default 7) and --project-timeout (default 60 seconds), and --no-projects skips project-level scanning entirely. A cooperative in-process governor also caps the scan’s CPU and memory footprint (--cpu-cores / --max-cpu-percent / --memory-limit-mb, all also settable via MDM) — defaults are generous, tighten them on constrained hosts. See What the scan reads.Does it collect file contents or just metadata?
Does it collect file contents or just metadata?
Organization API key
What can the AI Watch organization API key do?
What can the AI Watch organization API key do?
mcp_watch_scan) — and is accepted on AI Watch submission endpoints plus the narrow self-update target and installer-download endpoints. It cannot read tenant telemetry, organization settings, rollout policy, or release history; other API routes reject it. It has tenant-only identity (it is not tied to a user), cannot impersonate a user, and is blocked from policy-based access control. See Deploy AI Watch and User and Identity Mapping.What is the blast radius if the key leaks?
What is the blast radius if the key leaks?
401). See Troubleshooting → Authentication.How is the key stored?
How is the key stored?
OrgApiKey in macOS managed preferences, or the OrgApiKey registry value under HKLM\Software\Runlayer\AIWatch on Windows, written by the MSI’s AIWATCH_ORG_API_KEY install property). On the Runlayer backend it is stored only as an HMAC-SHA256 hash — the plaintext is shown once at creation and cannot be retrieved later. If it is lost, regenerate the configuration to mint a new one. See Troubleshooting → Authentication.How are scans attributed to users if the key isn't tied to a user?
How are scans attributed to users if the key isn't tied to a user?
Deployment and platform
Do I need AI Watch on every laptop?
Do I need AI Watch on every laptop?
Do I need an Anthropic Enterprise (or Team) license to govern Claude with Runlayer?
Do I need an Anthropic Enterprise (or Team) license to govern Claude with Runlayer?
Can Claude be onboarded centrally from the console instead of client-by-client?
Can Claude be onboarded centrally from the console instead of client-by-client?
- MDM (recommended for managed fleets). Push the AI Watch
.pkg/.msiand its Configuration Profile (macOS) or MSI properties (Windows) through Jamf Pro, Intune, Kandji, SimpleMDM, Mosyle, Workspace ONE, or the generic “Other MDM” flow. The package installs hooks for the supported clients (Claude Code, Cursor, VS Code, Copilot CLI, Codex, and more) idempotently and re-asserts them on each check-in. See Deploy AI Watch. - Auto Sync / org install (for connectors and Runlayer Plugin). Admins enable Auto Sync on connectors or the plugin, and
runlayer setup sync(which your MDM can schedule) writes the client config across detected clients. For Claude specifically you can also use the Anthropic org install. See Auto-Sync to Clients and Connecting AI Clients.
Is the package custom-built per organization?
Is the package custom-built per organization?
.pkg / .msi is identical for every customer. Your tenant host and organization API key are supplied through MDM configuration, not compiled into the binary. See Package and platform support.Does it require Python or the Runlayer CLI?
Does it require Python or the Runlayer CLI?
aiwatch binary with its runtime bundled, no Python or CLI prerequisite on managed devices. The uv tool install runlayer CLI is only for manual single-device testing. See Package and platform support.Which platforms are supported?
Which platforms are supported?
.deb / .rpm packages or container image; see Linux or Container). For Intel Macs or other architectures, use the CLI path or contact your account team. See Package and platform support.Which MDMs are documented?
Which MDMs are documented?
What outbound access does it need?
What outbound access does it need?
Does AI Watch act as a network proxy? Will it conflict with our VPN or SASE (Zscaler, Netskope, Cloudflare WARP)?
Does AI Watch act as a network proxy? Will it conflict with our VPN or SASE (Zscaler, Netskope, Cloudflare WARP)?
- Detect reads local AI-client configuration files and skill/plugin artifacts on disk — it does not observe network traffic at all. See What the scan reads.
- Endpoint modes and Sessions use client hooks that fire inside the AI client on its pre-tool / post-tool events. Protect applies scanner decisions plus fail-open, allow-unless-denied MCP source governance. Enforce adds local-tool controls and fail-closed, deny-by-default MCP source governance, while managed MCP calls scan at the gateway. There is no network shim, packet capture, or system proxy involved. See How endpoint modes work.
- The Runlayer gateway is an application-level MCP proxy: an AI client is explicitly pointed at a Runlayer MCP URL, the same way you would configure any MCP endpoint. It is not a transparent network proxy and does not sit in the path of unrelated traffic. See Connecting AI Clients.
aiwatch binary and the runlayer CLI must trust the corporate root CA used by the inspection appliance. This is honored automatically through the OS trust store (macOS Keychain, Windows certificate stores, Linux CA bundle) when the root is installed system-wide; if it is not, use the --ca-bundle / RUNLAYER_CA_BUNDLE / SSL_CERT_FILE / REQUESTS_CA_BUNDLE overrides described in Troubleshooting (see also the TLS-inspected-network note in MCP Troubleshooting).Reaching MCP servers on a private network (e.g. internal servers only accessible behind your VPN or Cloudflare WARP) is a separate connectivity topic — it is about where the Runlayer platform and its connectors sit relative to the private network, not about AI Watch on the endpoint. See Networking and Deployment overview.Can I change configuration without reinstalling?
Can I change configuration without reinstalling?
Mode, Sessions, process/container discovery, project depth, or project timeout from Settings → AI Watch → Manage settings. Connected devices fetch the complete settings snapshot during the privileged hook reconcile, typically within an hour, with no MDM policy update.On macOS with AI Watch 0.29.6 or newer, use Manage settings → Browser extension to install or remove the managed Chrome and Firefox extensions and configure their mode and Sessions behavior. This does not require editing or re-deploying the MDM profile. Host, organization API key, identity overrides, AutoUpdate, and CPU/memory limits remain MDM-owned; re-deploy the profile or MSI/registry values to change those. No package reinstall is required. See Package configuration.Operation
Can AI Watch control browsers or personal web AI apps?
Can AI Watch control browsers or personal web AI apps?
0.29.6 or newer, admins can force-install the Runlayer extension in Chrome and Firefox from Settings → AI Watch → Manage settings → Browser extension. Precise provider adapters support prompt monitoring, Sessions, masking, and blocking; observation-only pages support monitoring and Sessions but cannot rewrite or stop a provider request. Unknown pages are not monitored. Users do not need a Chrome or Firefox account.What can Runlayer see across desktop, CLI, cloud, and web AI?
What can Runlayer see across desktop, CLI, cloud, and web AI?
Can Runlayer detect Shadow AI on devices we don't manage (BYOD, personal, or contractor machines)?
Can Runlayer detect Shadow AI on devices we don't manage (BYOD, personal, or contractor machines)?
aiwatch binary (or the runlayer CLI for manual scans) that you deploy through MDM — it reads AI-client configuration, MCP servers, skills, plugins, and agent definitions on that device’s disk. On a device where you cannot install the agent (a personal laptop, an unmanaged contractor machine, a BYOD phone), there is no endpoint scan, so that device’s local AI usage does not appear in Shadow AI → Devices.Runlayer does not discover Shadow AI by watching the network. AI Watch is not a network proxy, VPN, or TLS-intercepting middlebox, and Detect does not capture packets or inspect network payloads — so there is no passive, agentless “see every AI request on the wire” mode for devices you don’t manage. See Does AI Watch act as a network proxy? and What the scan reads.What you can still govern or observe without an endpoint agent on the device:- Gateway-proxied MCP traffic. Any client pointed at a Runlayer MCP URL — including on an unmanaged device — is still subject to connector policies, ToolGuard scanning, audit logs, and analytics. This governs traffic that flows through Runlayer, but it cannot reveal MCP servers or AI clients the user configured entirely outside Runlayer. See Connecting AI Clients and Policies.
- Cloud/web chat compliance imports. Where a provider exposes a compliance API (e.g. the Anthropic Compliance API for Claude web/desktop), Runlayer can import those sessions for monitor-only review regardless of the endpoint. These are source-specific and do not replace endpoint discovery. See Sessions → web chat and compliance imports.
Does Sessions work without Enforcement (no blocking)?
Does Sessions work without Enforcement (no blocking)?
What if a developer disables or deletes their hooks to evade monitoring?
What if a developer disables or deletes their hooks to evade monitoring?
- Detect still finds it. Endpoint discovery runs as a scheduled root/SYSTEM scan that reads AI-client config, MCP servers, skills, and plugins on disk — completely independent of user-level hooks. On macOS it is a launchd job, on Windows the
AIWatchScanSYSTEM task, and on Linux a root cron entry (every 15 min). A user who disables their hooks but still has a shadow MCP configured will surface in Shadow AI → Devices/Discovery on the next scan. See What the scan reads. - Managed hooks re-assert themselves. With MDM deployment, the
aiwatch setup hooks install --mdmreconcile job (launchd / theAIWatchHooksSYSTEM task / the recurring script) re-writes the expected hook config on its next tick — idempotently — so removed entries come back automatically without a package reinstall. See Deploy AI Watch and How Enforce works. - Drift is visible. A device whose hooks were tampered with reports an
ErrororDriftedbadge for Enforce/Sessions in Shadow AI → Devices, so the gap is observable rather than silent. See Shadow AI overview. - Windows adds tamper resistance. The Runlayer Task Scheduler folder and tasks are locked to SYSTEM/Administrators (read + execute only for standard users), so a standard user cannot modify or delete them. See Tamper resistance.
A skill is flagged High or Medium risk but is legitimate — what now?
A skill is flagged High or Medium risk but is legitimate — what now?