Security and privacy

Your work stays yours, and stays private.

Private by default, stored as data and never as a running site, no captured form values, and a DPA for teams.

Private by defaultStored as dataNo form valuesDPA available
01 / Pillars

Security by design

Principles baked into the product, not bolted on after.

Designs and captures stored as data, not code

Everything SpecShot documents, from a captured section to a full page design your agent builds, is persisted as structured JSON. It is never rendered or executed as HTML, and never hosted as a running site.

No form values captured

We deliberately skip input values when capturing a section, so passwords, search terms, and other field contents are never collected.

Private by default

Designs, screenshots, and exports live in private storage scoped to your workspace. Client review and share links are opt-in, per item, and revocable at any time.

Encrypted integration secrets

Your MCP connection, BYO AI keys, GitHub and Linear tokens, and webhook secrets are encrypted at rest with a dedicated key. They are never stored or displayed in plaintext.

Payments handled by Stripe

Billing runs entirely through Stripe. We never see or store your card details.

Managed, isolated infrastructure

Authentication is handled by Clerk. Every query runs on the server and is scoped to your workspace, and membership is proved on each request, so a removed member loses access immediately.

02 / For teams

Built for organizations

  • Workspace-scoped access. Members only see their own workspace data.
  • Role-based team membership across six roles, from owner down to read-only viewer.
  • Client review runs in a scoped portal. Reviewers see only the design you share.
  • Data Processing Agreement (DPA) available for teams that need one.
  • Export or delete your captures, designs, and prompts at any time.
  • Granular Chrome extension permissions. Capture only runs when you click.
03 / Extension

What the Chrome extension can see

The extension does nothing until you click. It does not run on pages you browse, it does not watch what you visit, and it never collects the values typed into a form. Here is every permission it asks for.

Usage counts, and what they are not

The extension reports how it is used so we can see where captures fail: a fixed list of event names, which of the three capture modes you picked, and a coded failure class such as "restricted page". It never sends a web address, a domain, a page title, or anything on a page. Those fields do not exist in the payload, and anything not on the list is refused by the extension before the request leaves your browser, then checked again on arrival. Turn it off any time in the panel, under the Connected badge.

activeTab
Reads the tab you are capturing from, at the moment you start a capture. It is what lets SpecShot see the section you picked and screenshot it.
scripting
Puts the capture overlay on the page you are working on, and puts the prompt into an AI chat when you send one there. Neither script runs on pages you simply browse: they are registered so they can be found, and explicitly excluded from running automatically anywhere. The capture script is placed on the active tab while the SpecShot panel is open, so it is ready the moment you click Capture rather than loading while you wait.
tabs
Keeps the side panel in step with the tab you are on, so you can open the panel, go find the page you want, and capture it there.
storage
Holds your settings and your extension key in the browser. Captures are not stored here.
sidePanel
Opens the panel itself.
Access to websites you capture
You choose the site, so the list cannot be known ahead of time. SpecShot reads a page only during a capture you started, and never on its own.
04 / Positioning

Documentation, never duplication

SpecShot documents a design and its context to brief your build. It does not clone, copy, or host anyone else's site.

Positioning

in a design and its full context

out structured data and a build-ready spec

never a running site, captured form values, or a hosted copy