Verify Wi-Fi and contact fields stay on this device
WifiSignQR builds a Wi‑Fi QR and an optional vCard contact QR in the browser. This page is the check you can run yourself: which network calls are normal, and which calls would mean the password or contact fields left the tab. The generator is on the home page. The short policy is the privacy policy. The usage rules are the terms. Publisher context is on about.
What you are proving
You are proving that generating a QR does not upload SSID, password, or vCard fields. You are not proving that nothing on your computer can see the bytes. A browser extension, malware, or a recorder you installed can still read a tab. This site does not receive those values, and it does not claim to block other software on the device. Credentials never leave this device through this page.
If Network shows a POST or PUT of your password or vCard fields, stop using that session and write to contact@wifisignqr.pages.dev with the page URL and what you saw — without attaching the real password. That would not match how this tool is built.
Steps in DevTools
- Open the generator. Use a throwaway test SSID the first time you learn the panel — not your production guest password — until you trust the flow.
- Open DevTools → Network. In Chrome that panel is documented as the Network panel. In Firefox it is the Network Monitor. Enable “Preserve log” so a reload does not wipe the list.
- Reload the page once and let the first requests finish. You should see same-origin GETs for the document,
/assets/styles.css,/assets/qrcode.js,/assets/tool.js, and the favicon. - Type an SSID and password. Change security. Toggle hidden. Watch for new rows. There should be no POST, PUT, or beacon whose body is the password or SSID.
- Press Print / PDF or Download PNG. Print opens the browser print dialog. PNG uses a
data:URL fromcanvas.toDataURLin the tab — it is not a multipart upload to our server. - Fill the vCard fields the same way. Again, no request should carry name, phone, or email to our origin or a third party.
Expected requests
- Page assets. HTML, CSS,
qrcode.js,tool.js, and the icon — all GET, all from this site — when the page loads.qrcode.jsis the vendored encoder (qrcode-generator 1.4.4, MIT). It is script code, not your password. - Analytics beacon, maybe. The privacy policy describes Cloudflare Web Analytics. If that product is enabled for the zone, a request to
cloudflareinsights.comcan show up. It is a page-view beacon. It is not an upload of SSID, password, or vCard fields. The HTML we ship does not include an advertising script.
Requests that should not appear
- A POST, PUT, or PATCH that carries SSID, password, or vCard field values.
- A call to a third-party “QR API”, Wi‑Fi cloud, or contact sync endpoint after you type.
- A script load from an ad host. Response headers for this site set a strict
script-srcto'self'. That policy does not list an ad network.
Why the fields can stay in the tab
The forms are ordinary inputs. The page builds a WIFI:… or BEGIN:VCARD string in JavaScript, then draws modules on a canvas. PNG download reads the canvas with toDataURL. Print uses CSS to isolate one card and hide the form, so the password is not printed as readable text. When you close the tab, those values go with the page’s memory. We have no account database to reopen.
This tool draws QR codes for Wi‑Fi and contacts. It does not draw Code128 or EAN linear barcodes. SSID caps at 32 characters and password at 63 in the form; security choices are WPA/WPA2/WPA3, WEP, or open. Those limits are product honesty, not a scan of your router.
Publisher, contact, and policy pages
These pages stay on the existing URLs. They are how you learn who publishes the tool and how to reach us:
- About — who publishes the pages.dev experiment and what the generator is for.
- Contact — a working mailbox for wording and bugs, with clear “do not send Wi‑Fi passwords.”
- Privacy — no credential upload, hosting logs, optional Web Analytics, children note.
- Terms — your networks and contacts, acceptable use, honest limits.
- This trust page — a verifiable Network check for browser-local QR generation.
This experiment does not run advertising scripts today. Response headers set script-src 'self'. If that ever changes, privacy and about would need an honest update first.
Where to go next
- Make a Wi‑Fi or vCard QR
- Getting started
- Print a guest wifi sign
- iPhone and Android scan behavior
- Make a vCard contact QR
- About · Privacy · Terms · Contact
Questions about this wording, email contact@wifisignqr.pages.dev. Do not send your real Wi‑Fi password in that email. We do not need it, and we do not want it in a mailbox.
Sources
- Chrome DevTools — Network panel: developer.chrome.com/docs/devtools/network
- Firefox — Network Monitor: firefox-source-docs.mozilla.org/…/network_monitor
- MDN — Canvas API: developer.mozilla.org/…/Canvas_API
- MDN —
HTMLCanvasElement.toDataURL: developer.mozilla.org/…/toDataURL - MDN —
Blob: developer.mozilla.org/…/Blob - MDN —
Window.print: developer.mozilla.org/…/Window/print - ZXing — Wi‑Fi barcode contents: github.com/zxing/zxing/wiki/Barcode-Contents
- qrcode-generator (Kazuhiko Arase, MIT). The script you see in Network is served from this site: github.com/kazuhikoarase/qrcode-generator
- Cloudflare Web Analytics: developers.cloudflare.com/web-analytics/about
- Cloudflare Pages: developers.cloudflare.com/pages
FAQ
How do I prove WifiSignQR does not upload my Wi‑Fi password?
Open DevTools → Network, type a test SSID and password, then print or download PNG. You should see same-origin page assets. You should not see a POST or PUT of the password. The qrcode.js GET is encoder code, not your credentials.
Is the qrcode.js script load an upload of my password?
No. It is a GET of /assets/qrcode.js from this site when the page loads. The response is the MIT-licensed encoder. Your SSID and password are not in that request or that file. Encoding then runs in the tab.
What does Download PNG send to the server?
Nothing required. The button builds a data: image URL from the canvas in the tab and triggers a local download. It is not a multipart upload of the password.
Which network requests are a problem?
A problem is any request that sends SSID, password, or vCard fields, or calls a third-party QR or Wi‑Fi API after you type. Static assets and an optional Cloudflare Web Analytics beacon are not credential uploads.
Does this check cover vCard fields as well as Wi‑Fi?
Yes. Type name, phone, email, and organization while Network is open. Those values should stay in the tab the same way. The vCard guide covers format details.
Where do I report a Network result that looks wrong?
Email contact@wifisignqr.pages.dev with the page URL and what you saw in DevTools. Do not attach the real Wi‑Fi password. Start from this trust page and the privacy wording so we can compare claims to behavior. Also see contact.