catchroll

Security Position

Last updated: 14 October 2026 · Describes build 1.1.0

This page describes catchroll’s security position as it stands on the build named above. It is deliberately scoped to what the shipping code does, not to promises.

The words on this page

  • Capture: one thing you grabbed from a web page: the picture, the text from inside your frame, and the page’s address and title.
  • Tile: anything on the canvas: a capture, a file you added (an image, a PDF page, a Word, Excel or text file), or a text box.
  • Capture roll: the short-term shelf for your latest captures, kept in local browser extension storage on your device. It keeps your ten most recent, trimmed to 50 MB of pictures in all; a new capture pushes the oldest out. You see and manage it in the popup.
  • Popup: the small panel behind the toolbar button: pick a capture mode, see your roll, send captures to a canvas.
  • Canvas: the workspace where captures and the files you add become a board: arrange them, mark them up, redact, save the board as a .catchroll file, export it for an AI.

No backend

catchroll has no backend. On this build: no servers, no accounts, no telemetry, no analytics, no tracking identifier. Your captures and what you add to the canvas stay on your device (in Chrome’s storage, in the canvas tab, and in files on your own disk), and they leave only when you move a file yourself. No catchroll code sends a request on its own: the only web addresses it opens are links you click, each in a new tab.

All of catchroll’s code is packaged in the extension, including two third-party libraries: fflate 0.8.3 (MIT) and pdf.js 6.3.289 (Apache-2.0, with its bundled fonts, character maps and decoders). Neither is fetched at runtime, and the extension’s content security policy limits its pages’ network requests to the extension itself. That policy does not restrict where a picture could load from; no catchroll code loads one from the web.

Redaction is destructive on purpose

When you black out, pixelate or blur part of a tile, catchroll destroys those pixels in the tile’s picture. It is not an overlay you can peel back, and it cannot be undone.

Redaction destroys the pixels and removes the saved text and the source pointer from every file you save or export.

Its limits, so you can pick the right tool:

  • Black-out can leave a one-pixel edge around its box that still holds part of the original colour: a thin line, not enough to read.
  • Pixelate and blur keep a coarse shape of what was there, and very large text can stay readable under them. Use black-out for anything that must be gone.
  • Redaction changes the tile on the canvas and every file you save from it afterwards. A copy you made before redacting (Ctrl+C or COPY PNG), a file you saved before it, and a board you had already assigned the tile to keep the original.

One thing worth knowing: the popup’s roll keeps each capture as it was taken until it leaves the roll, deliberately, so an accidental redaction is recoverable. If you want the original gone sooner, delete it from the roll.

Redaction protects the text and the trail, not just the pixels

A tile can carry text alongside its picture, and a link back to where it came from. Hiding pixels while leaving those behind would be a false sense of safety.

Redacting any part of a tile removes all of that tile’s saved text and its source, no matter how it got onto the canvas. The picture keeps everything outside the blacked-out area, so an AI given the .catchroll or a PNG can still read what’s visible; the .md has no pictures, so it shows that tile as withheld.

The reasoning: an image redaction is only real if someone can’t recover what you hid by reading the leftover text, or by simply following a link to the original. In the files you save and export, catchroll closes both doors.

Who can answer the capture prompt

Element and Transcript tell you before they capture when their text includes characters the picture doesn’t show, and only your own click or key answers that prompt: a web page’s script cannot answer it for you. A page built to mislead can still restyle, reword or cover catchroll’s prompt, or move the focus so that your own Enter or Space presses Capture. On a page you don’t trust, read catchroll’s prompt with care before you answer it.

Folder access is scoped, not broad

catchroll can connect to a folder you choose to hold your saved library. That access is granted through your browser’s own file picker and is limited to the single folder you select and what is inside it: not your drive, not your other files. It is mediated by the browser. catchroll uses it to read your library locally, and saving asks for write access separately; nothing in that folder leaves your device. It is a scoped key to one folder, not general access to your computer.

Scope and honesty

This is a position statement, not a certification. catchroll’s code was audited adversarially in July 2026, on an earlier version, and again in October 2026, on the code that became 1.1.0: 22 claims checked against the packaged extension, no serious finding counted until a test reproduced it, and a reviewer given the code and the method but none of our findings re-ran the audit cold. The October reviewers were all AI models from one family (Anthropic’s Claude); the checks outside that family were the test runs themselves and a code scanner. The tests ran in an isolated test browser, not an everyday browser profile.

The October audit found five serious problems (rated medium or higher) new since 1.0.49, the version before 1.1.0 on the Chrome Web Store. They are fixed in 1.1.0, and the audit’s attacks on them were re-run on the build that ships as 1.1.0. Two features added after the audit (keeping a Ctrl+C copy so you can paste it into another board, and EXPORT SELECTION writing to your save folder) were checked by that re-check, not by the audit itself. The audit also found other problems we have not fixed yet. Among them:

  • the redaction limits above;
  • a file you didn’t make can freeze the canvas tab, losing what you haven’t saved, and any file you add can carry text hidden in the document into what you save and export;
  • a link inside a file someone else made opens exactly as written, so read the address before you click it;
  • a board file someone else made can make its Markdown export misleading;
  • a page built to mislead can restyle or cover catchroll’s capture prompt, as described above;
  • any website can tell that catchroll is installed.

In October 2026, for this build, the claims on this page and on the privacy page were also checked again against the code.

Reporting a concern

If you find a security issue, please report it to security@catchroll.com.