Screenshots, annotations, OCR, redaction, GIF encoding, and AI features all run in your browser. Nothing leaves your device unless you explicitly save or share a file.
PencilCard does not receive or store any screenshot data. All capture processing happens in your browser.
chrome.storage.local keyed by a random capture ID. Retained only until you close the editor tab or clear the extension data.chrome.storage.local.chrome.storage.localCaptures are stored temporarily in Chrome's local extension storage. This is sandboxed to the extension, is not synced across devices, and is not accessible by websites or other extensions. Data is removed when you clear the extension storage or uninstall.
All editing operations — annotations, crop, blur, redaction — take place on HTML5 Canvas elements held in memory. They are never written to disk until you explicitly click Save or Copy.
On first OCR use, Tesseract.js downloads its WebAssembly binary and English language model (~10 MB combined) from cdn.jsdelivr.net. These are cached by your browser's normal HTTP cache — they are not stored by PinoMail and do not contain any of your screenshots.
On the first OCR run, PinoSnap loads the Tesseract.js WebAssembly module from cdn.jsdelivr.net. This is a one-time download of ~10 MB cached by your browser. No screenshot data is sent to this CDN — only the script file is downloaded.
Sign-in and subscription tier verification. No screenshot data is included in these requests.
PinoSnap does not upload screenshots to any server. There is no PencilCard cloud storage for images. If you export a file and then upload it to a third-party service, that transmission is entirely your own action and governed by that service's privacy policy.
| Permission | Why it is needed |
|---|---|
| activeTab | Captures a screenshot of the current tab when you click the extension icon or use the keyboard shortcut. The capture is a one-time action initiated by you — PinoSnap does not continuously observe tab content. |
| tabs | Used to detect whether the current tab is an active browser page (not a Chrome internal page) before initiating a capture. Tab URLs and content are not stored. |
| storage | Temporarily stores the captured screenshot and your preferences in chrome.storage.local. |
| downloads | Saves the exported PNG, JPG, WebP, PDF, or GIF file to your Downloads folder when you click Save. PinoSnap does not read or modify other files in your Downloads folder. |
| scripting | Injects a small content script to capture full-page and scrolling screenshots by stitching multiple viewport captures. The script runs only in the current tab at capture time, does not exfiltrate data, and is not injected persistently. |
| clipboardWrite | Copies the final image to your clipboard when you click Copy. The image is only written — PinoSnap never reads your clipboard. |
| offscreen | Creates a hidden offscreen document to run GIF and PDF encoding using WebAssembly libraries without blocking the editor UI. No network requests are made from this context. |
| identity | Obtains a Google OAuth token for Firebase sign-in (Pro subscription). Not used to access any Google account data beyond authentication. |
| host: cdn.jsdelivr.net | Downloads the Tesseract.js OCR model on first use. One-time download; no screenshot data is sent to this host. |
Text extraction from screenshots runs via Tesseract.js, a WebAssembly port of the Tesseract OCR engine. After the one-time model download, all OCR runs entirely on your device with no internet connection. Extracted text is displayed in the editor panel and never transmitted to PencilCard.
PII detection for smart redaction combines regex pattern matching (always on-device) with Gemini Nano inference (on-device, Chrome 127+). No screenshot pixels or extracted text are sent to any external server for redaction analysis.
The "Alt Text" button runs OCR on the screenshot on-device, then asks Gemini Nano to write an accessible description based on the extracted text. Both steps run entirely in your browser. No image data or extracted text leaves your device.
The "Ask AI" panel lets you ask questions about the screenshot. Gemini Nano answers based on on-device OCR of the image. No data is transmitted externally. If Gemini Nano is unavailable, Ask AI displays a setup prompt rather than falling back to a cloud provider.
PencilCard does not share screenshot data with any third party. The only external transmissions are:
Chrome DevTools → Application → Extension Storage → select the PinoSnap extension → Clear. Or uninstall the extension.
Removes all locally stored captures and preferences immediately.
Email [email protected] to request deletion of your Firebase account record.
PinoSnap does not knowingly collect personal data from children under 13. As no screenshots are transmitted to our servers, the extension does not create a personal data profile for any user.
We will update this page if PinoSnap's privacy practices change. The current version is always at pencilcard.com/privacy-pinosnap.
We aim to respond within 5 business days.