Screenery

Screenery / Privacy

Privacy

What Screenery collects, why, where it is kept, who else handles it, and for how long.

Last updated 19 October 2026.

This page covers every part of Screenery: this site (www.screenery.dev), the console and API (app.screenery.dev), image delivery (cdn.screenery.dev), the hosted MCP server (app.screenery.dev/mcp), the screenery command-line tool, the screenery/push GitHub Action, and the Screenery plugin for coding agents.

What we collect

Your account. You sign in with GitHub. Screenery asks GitHub for no extra permissions, so it receives your public profile only. It keeps your GitHub user id, your login, your avatar URL, and your email address if your GitHub profile makes one public. Signing in does not give Screenery access to your code.

Sign-in sessions. The console sets a session cookie on app.screenery.dev. The command-line tool and agents that connect to the MCP server get an access token instead. For each session Screenery keeps a hash of the token, never the token itself, and the name of the app that asked for it (for example the agent host's name).

What you publish. The screenshots, recordings and Playwright traces you push, and what comes with them: asset and channel names, descriptions and tags, the test that took each screenshot (file, line and title), browser and viewport, and the commit, branch and pull request of the build. A Playwright trace records the test session, which can include its network traffic, cookies and page source. Only upload traces from tests that use test data.

CI identity. When the GitHub Action publishes without a stored secret, it proves who it is with a GitHub Actions OIDC token. Screenery checks the token and records the claims GitHub put in it: the repository and its owner, the ref and commit, the workflow, the run id and attempt, the event, the environment, and the GitHub login of the person who started the run. It records a fingerprint of the token, never the token.

The GitHub App. If you install it, Screenery records the installation and which repositories it covers, and receives release, push and pull request events for them. It uses them to move screenshot channels, post the pull request comment and update its check. It does not read your code.

Reviews, comments and settings. Approvals, rejections, comments, ignored changes, rules, webhooks and chat targets you create are stored with the account that made them.

Image delivery. Each image or video served from cdn.screenery.dev is counted: which project, asset and version, how many bytes, the response status, the host name of the referring site (never its path), and a two-letter country code. Screenery uses these counts for usage limits and to tell you which screenshots are still being read. It does not store your IP address with them.

Usage analytics. The console on app.screenery.dev uses Google Analytics to count page views. Each page view is sent as the page's pattern, such as /:org/:project/builds, never the real address, so no organization, project or screenshot name is sent. The sign-in code, authorization and invitation pages send nothing. Google Analytics sets its own cookies and receives the technical details any website gets from your browser. This site, www.screenery.dev, has no analytics, and its fonts are hosted here.

Logs and abuse protection. Requests are logged with an id, the method and the address with any credential in it removed, so a failure can be traced. Requests made without signing in are rate-limited by network address. Those counters are deleted within the hour.

How we use it

We do not sell your data, and we do not use it for advertising.

Where it is stored, and who else handles it

How long it is kept

There is no self-serve way to delete an account or a project yet. To have yours deleted, contact us (below). You can revoke tokens in the console, uninstall the GitHub App in GitHub's settings, and remove Screenery's access to your GitHub account under GitHub's Settings → Applications.

Agents and the plugin

An agent connected to the hosted MCP server acts with your account, through an access token you approved on the consent screen. What it sends is what the tools say: project names, the list of files to publish (names, sizes and SHA-256 hashes), and the files themselves, which it uploads straight to storage. The Screenery plugin's skills tell the agent to run npx screenery, which downloads the command-line tool from npm, and to add the screenery/push@v1 step to your CI. Both send the same data described above.

Contact

Questions, and requests to see, correct or delete your data: [contact address not yet published].

Changes

When this page changes, the date at the top changes with it.