Security

Snag sees your users' bug reports and, if you turn the agent on, a disposable copy of your code. Here is exactly what happens to both.

Masked in the browser, before anything uploads

Passwords and input values are masked, headers stripped and secrets redacted in the page itself — so the sensitive version never leaves the browser. Masking is on by default.

Recording only where you allow it

The extension and the embed widget both refuse to record on any domain you have not verified. Every capture is authenticated by a hashed workspace key and an Origin check, and each workspace's data is isolated from every other.

The agent works on a copy, and never merges

When the built-in agent runs, it works in a private disposable copy of your repository that is destroyed after the run. Your own tests must pass before it opens anything. A human always merges — Snag never auto-merges.

Your code never trains a model.

Your own agent reads evidence, and nothing more

The MCP server exposes read tools plus one that links a pull request back to a ticket. Every call re-checks the workspace's entitlement rather than trusting the token alone, and links to raw artifacts, replays and video are signed and expire after 15 minutes.

Snag's MCP server is listed in the official Model Context Protocol registry as ac.snag/snag — you can verify the listing there.

Where data lives, and when it goes

Captures are stored per workspace on Google Cloud and deleted automatically after 90 days. Integration tokens are envelope-encrypted with Cloud KMS. Payments run through Stripe — Snag never sees card details.

What we do not have yet

Snag is not SOC 2 or ISO 27001 certified. We would rather say so than let a badge imply otherwise. If your review needs something specific, ask and we will answer honestly about what exists today.

Reporting a vulnerability

Email admin@dvcllc.io. Tell us what you found and how to reproduce it, and we will confirm receipt.