Full Page PDF Snap → PDF extension permissions
Turning a web page into a PDF sounds like something that happens on your own machine. For some extensions it does not — one of the most popular states plainly that it is “powered by the PDFCrowd HTML to PDF online service”. That is a legitimate design with a real consequence, and it is worth knowing which kind you have installed. Every extension declares what it may access, and reading that takes half a minute.
You do not need any tools. Every listing on addons.mozilla.org has a “Permissions and data” section near the bottom. What matters is one distinction:
A named domain in that list is even more telling. If an extension declares access to
https://example-converter.com/, it talks to that server. That is not a
suspicion; it is what the declaration is for.
Permissions describe what is possible. To see what actually happens, watch the traffic:
1. Open about:debugging → This Firefox
2. Find the extension, click "Inspect"
3. Switch to the Network tab
4. Run a capture and watch what appears
An extension that works locally shows nothing there. One that converts server-side shows the upload. This is the only method that gives certainty, and it takes about two minutes.
Pulled from the Mozilla add-ons API on 1 August 2026. The “declared hosts” column lists exactly what each extension states in its own manifest — no interpretation:
| Extension | Users | Declared hosts | Last update |
|---|---|---|---|
| Save as PDF | 19,610 | https://pdfcrowd.com/ | 2025-06-17 |
| PDF Mage | 16,313 | <all_urls> | 2021-11-16 |
| PDFmyURL | 390 | https://pdfmyurl.com/*, <all_urls> | 2019-06-03 |
| FireShot | 169,961 | <all_urls>, *://getfireshot.com/activate.php?* | 2023-06-21 |
| SingleFile | 84,954 | <all_urls> | 2026-03-06 |
| Print Edit WE | 40,873 | <all_urls> | 2025-04-30 |
| PageSaver | 2,178 | <all_urls> | 2026-07-24 |
| Full Page PDF Snap | 3 | none — activeTab only | 2026-08-01 |
A declared permission shows what an extension may do, not what it does. An
extension with <all_urls> may well process everything locally and
never send a byte anywhere — that permission is also the simplest way to make a tool
work on every page, and plenty of well-regarded extensions use it for exactly that.
SingleFile, for instance, is open source and widely reviewed.
So this is not a ranking of trustworthiness. It is a list of what each extension reserves the right to do, taken from its own manifest on one specific day. Versions change; check the current listing before drawing conclusions. Where an extension is open source, reading the code beats any inference from permissions.
This is where the two designs stop being a matter of taste. A server-side converter receives a URL and fetches the page itself — as an anonymous visitor. It has no access to your session. The provider of “Save as PDF” states this openly in its own listing:
“Please note that for security reasons, it is not possible to create PDFs from pages that require a login, such as your webmail inbox, online banking, shopping cart contents, payment […]”
— Save as PDF, own listing description, retrieved 1 August 2026
That is a fair and transparent statement, and it deserves credit rather than criticism. But it defines the boundary precisely: the documents people most often want to keep — an order confirmation, an invoice in a customer portal, insurance correspondence, a booking record, a support conversation — are exactly the ones behind a login.
An extension that renders locally has no such limit, because it captures what your browser already shows. That is a functional difference, not a moral one. Which side you want depends on what you archive.
For a technically inclined reader, there is a faster route than any listing page. The same API this article uses is public:
curl -s "https://addons.mozilla.org/api/v5/addons/addon/SLUG/?lang=en-US" \
| python3 -c "import sys,json; d=json.load(sys.stdin); \
print(d['current_version']['file']['permissions'])"
Replace SLUG with the part of the listing URL after
/addon/. Anything containing :// or
<all_urls> is a host permission. This is also how the table above was
produced — so you can reproduce it, and correct it if something has changed.
We build one of the extensions in that table, so treat the framing accordingly. What
we can offer instead of a promise: the permission list is
activeTab, downloads, downloads.open, storage, menus, notifications, scripting
with no host permissions at all, the source is
public under the MIT licence,
and the submitted files are the source files — no bundler, no minification. The
network check described above is the honest way to verify that, and it works on our
extension exactly as it does on any other.