Zapnab Privacy Policy
Status: current. This page describes the extension's behavior as of the version noted above, checked against the extension's source. It has not had a formal legal review and is not legal advice.
The short version
The pages and PDFs you capture never leave your browser. There are no accounts, no servers and no third parties involved in converting a webpage or PDF to Markdown. Everything happens on your device. The only things stored are your own settings and, optionally, a local history of your own captures, kept in the browser's local storage on your device and never transmitted anywhere.
What Zapnab does
Zapnab converts the content of a webpage or a PDF file into clean Markdown text on your own device, so you can copy it or save it as a .md file.
What data we collect
We do not operate a server that receives data from this extension. There is no account to create, no sign-in and no remote database. Concretely:
- The content of pages or PDFs you capture is never sent anywhere. It is read from the current tab (or a local file you choose), converted to Markdown on your device and shown to you. It is never transmitted. The one temporary local copy Zapnab can leave behind is described under "What is stored, and where".
- No browsing history is collected or transmitted. Zapnab only acts on the page you are viewing when you explicitly ask it to capture, and only while doing so.
- No personal information is collected. No name, email address, IP address or device identifier is gathered by the extension for any purpose.
What is stored, and where
The three items below are kept in the browser's built-in extension storage (storage.local) on your own device. They are not synced to any account or server we control, and we have no access to them.
- Your settings, such as default capture mode, output profile, whether to include front matter and the PDF size limit. They are stored so your preferences persist.
- Capture history (optional). Zapnab can keep a local list of your own recent captures: title, source URL, timestamp and whether the capture succeeded, capped at your 50 most recent. Storing the full Markdown text of each capture is a separate setting that is off by default. Turning it on affects only later captures. Turning it off does not delete full-text entries already stored; use the "Clear history" button for that.
- A small local event log. Zapnab keeps a bounded log of events such as "a capture started", "a capture finished" and "a capture failed" with a coarse error type, for your own troubleshooting and capture statistics. It never contains a page's title, URL or content, and it is never transmitted.
Temporary handoff copies. To pass a result between parts of the extension, Zapnab briefly places it in the extension's own IndexedDB storage on your device: the captured Markdown of a right-click capture, for the side panel to display, and the bytes of a PDF, for the local parser to read. Each copy is deleted as soon as it is read. If you close the side panel, or a capture is interrupted, before that happens, the copy can stay on your device until the next capture overwrites it or you uninstall the extension. This happens even when saving full text in history is off. It is never transmitted. Zapnab also keeps a small in-memory signal per tab (storage.session) saying whether a right-click capture is pending or done. It holds no page content and is cleared when the browser closes.
You can clear your capture history from the extension's Settings page. Uninstalling the extension removes everything it stored.
Images and other embedded media
When Zapnab shows a preview or converts a page, it does not load the images or media on that page again. Images appear as placeholders in the preview, and the Markdown refers to the original image address as text. Capturing a page therefore does not cause extra requests to the sites whose images are on it.
PDF capture
PDFs are parsed entirely on your device with a local library (pdf.js), the same way webpages are processed. A PDF's content is never uploaded to be converted.
One narrow, deliberate exception, only when capturing a PDF that is already open in a browser tab: Chrome's built-in PDF viewer does not expose the file's bytes, so Zapnab requests that same PDF URL again to hand the bytes to the local parser. This is a read of content you are already looking at; nothing you have captured is sent. It does not happen when you open a PDF from your computer with the file picker, which makes no network request at all.
Permissions Zapnab requests, and why
| Permission | What it is for |
|---|---|
| activeTab | Read the page you are viewing, only when you ask Zapnab to capture it. It cannot act on a tab you have not chosen. |
| scripting | Run the extraction code in that tab on demand. |
| storage | Keep the settings and optional local history described above. |
| downloads | Save the .md file when you click Download. |
| offscreen | Run the local PDF parser and write to the clipboard, which a background service worker cannot do on its own. It makes no network requests beyond the PDF exception above. |
| contextMenus | Provide the right-click "Page to Markdown", "Selection to Markdown" and "Copy as Markdown" items. |
| sidePanel | Show the captured Markdown in Chrome's side panel beside the page. |
Zapnab requests no host permissions: it does not have standing access to all websites, and it does not run on pages you have not asked it to act on.
Third parties
We do not share, sell or transmit any data to any third party, advertiser or analytics service. The extension contains no third-party scripts, trackers or embedded services, and its fonts are bundled in the package.
This website
This page and the Zapnab product page are static pages. They set no cookies, run no analytics and load no third-party scripts, fonts or embeds. Because the site is hosted on GitHub Pages, GitHub, as the hosting provider, may process ordinary server logs (such as IP addresses) under its own privacy statement; we do not receive or use that data.
Children's privacy
Zapnab does not collect or transmit personal data from anyone, including children.
Changes to this policy
If a future version adds features that change any of the above, for example an optional account, cloud sync or an AI-assisted feature that sends already-captured text to a service for processing, this policy will be updated before that version ships, and any such feature will require your explicit action to use, never a silent default. The "100% local" description above is true of the current version; it is not a promise about every future version. Check the "Last updated" date against your installed version.
Contact
zursion@gmail.com