Four ways to check
In rough order of how convincing they are. The last one needs no tools at all.
1 Watch the network panel
- Open jwt.jamuny.com.
- Press F12, or Cmd+Option+I on a Mac, and select the Network tab.
- Reload, then clear the list so you are starting from empty.
- Paste a token, press Verify signature, switch to Sign and press Sign token.
The list stays empty. Decoding, verifying and signing produce no requests at all, measured rather than asserted: zero outbound requests during all three.
Nothing third-party loads either. Every request the page makes is to this domain: the HTML, one stylesheet, the fonts. No CDN, no analytics, no tag manager. Fonts are self-hosted precisely because a request to Google Fonts would be a request carrying your IP to somebody else.
Try the same thing on board.jamuny.com: draw a few strokes, add a rectangle, open a second board tab, close it. The list stays just as empty. It is arguably the clearer demonstration of the two, since most whiteboard apps exist to sync a board to a server, and this one carries the same policy as the JWT tool: structurally unable to.
And on icons.jamuny.com: draw a shape, drag its points, change the canvas size, download the SVG. Measured with a headless browser driving the live site, the page makes five requests while loading — the HTML, its script and three fonts, all to that same domain — and then none at all, no matter what you draw. The download is built in the page and handed to your browser; it is never uploaded and fetched back.
And on pdf.jamuny.com: drop in a document and convert it. This is the one worth watching closely, because every other result for "convert to PDF" works by uploading your file. Driving the live site, every request it made was to that same domain — the page, two fonts, its script, and the conversion engine fetched at the moment converting began. The file itself never appears in the list, because it never leaves the tab: it is read, laid out and written to a PDF by code running in your browser, and the download is handed to you from memory.
2 Read the policy
The JWT tool, the whiteboard, the icon studio and LocalPress all setconnect-src 'none'. That is a browser-enforced rule saying the page may not open any network connection: no fetch, no XHR, no WebSocket, no beacon. It is not a promise about what the code does; it is a constraint the browser applies regardless of what the code tries.
curl -sI https://jwt.jamuny.com/ | grep -i content-security-policy
curl -sI https://board.jamuny.com/ | grep -i content-security-policy
curl -sI https://icons.jamuny.com/ | grep -i content-security-policy
curl -sI https://pdf.jamuny.com/ | grep -i content-security-policy
Read the connect-src value in any of the four. With it set tonone, a build that tried to send your token, upload a board, post an icon or ship your document off to a converter somewhere would simply fail to send it.
One file on pdf.jamuny.com has a different policy: /edit-sw.js, the service worker that keeps the PDF editorworking offline. A worker is governed by the policy on its own response, and with connect-src 'none' it could not fetch the editor's files to keep them. Its policy is connect-src 'self': it can fetch from pdf.jamuny.com and nowhere else, and it only ever does so by GET, for the editor's own files.
It sits at the root of the site, so it controls every page on pdf.jamuny.com, the converter included. The editor starts two background workers of its own from /_astro/, and a browser matches those to a service worker by their own address, so a worker limited to /edit/ never saw them and no PDF opened offline. It answers only for the editor's own files. Nine of those the converter loads too: two fonts, the Arabic, Hebrew, maths and Chinese font packs, and three small shared scripts. On a converter page those nine come from the worker's cache on your device. Every other request goes to the network as it would with no worker at all. The page itself still cannot open any connection. The worker is one readable file: open it in the browser, or find it under DevTools, Application, Service workers.
curl -sI https://pdf.jamuny.com/edit-sw.js | grep -i content-security-policy
3 Pull the plug
Load any tool, then turn off your Wi-Fi and keep using it. Decode a token, format some JSON, generate a hash, type into the notepad. Everything keeps working, because none of it needed the network in the first place.
This is the check that needs no technical knowledge and is the hardest to fake. Software that phones home stops working when it cannot.
4 Read the page source
Right-click and choose View Source on any tool page. What you get is the finished HTML: the text, the headings, the answers: not an empty shell waiting for a server. Turn JavaScript off entirely and the page still reads, because the content was never coming from anywhere else.