Peak AppsTools

How we check that nothing is uploaded

Photo Date Fixer does not upload your Snapchat export. Each page of the fixer carries a security policy that makes your browser refuse every outgoing connection from it except the visit counter's, and the script that handles your files contains no network code. This guide explains both, line by line, and shows how to check them yourself in Chrome or Edge.

Last checked 21 October 2026

What each line of the security policy means

Every page of the fixer carries a Content-Security-Policy in its own HTML, a meta tag at the top of the page source. It is a list of rules that your browser enforces for the page. This is the exact policy:

default-src 'none'; script-src 'self' https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' blob: data:; font-src 'self'; connect-src https://cloudflareinsights.com; worker-src 'self'; media-src 'self' blob:; manifest-src 'none'; base-uri 'none'; form-action 'none'

The policy, one rule at a time
RuleWhat it means
default-src 'none'Allow nothing by default. Anything not named below, such as frames, is refused.
script-src 'self' https://static.cloudflareinsights.comOnly this site's own script files run, plus the visit counter's script from static.cloudflareinsights.com. Inline scripts are refused.
style-src 'self' 'unsafe-inline'Styles come from this site's own style sheets or from style rules written in the page itself. Styles change how the page looks and cannot send anything.
img-src 'self' blob: data:Images come from this site, or from blob: and data: addresses, which need no network request.
font-src 'self'Fonts come only from this site. No font service is contacted.
connect-src https://cloudflareinsights.comThe key rule. The page's code may not connect to any address, not even this site's, except cloudflareinsights.com, where the visit counter reports. That covers fetch, XMLHttpRequest, WebSocket, EventSource and sendBeacon.
worker-src 'self'Workers, including the one that processes your files, start only from this site's own files.
media-src 'self' blob:Audio and video come only from this site or from blob: addresses, which need no network request.
manifest-src 'none'No web app manifest is loaded.
base-uri 'none'No base element can change where the page's relative links point.
form-action 'none'No form on the page can be submitted to any address.

Together they close the usual routes for sending data out of the page: requests, forms, remote images and fonts, frames. Your photos are read and written inside the browser tab.

The one opening is the visit counter. We count page visits with Cloudflare Web Analytics: no cookies, no personal data, and never your files. Its script reports the page address without anything after a ? or #, the page you came from (cut the same way), your browser and system type and the page's loading times. The page never hands it a photo, a video, the memories list or a location: files go only to the processing worker, which has no network code.

Source: MDN Web Docs, the Content Security Policy guide, the header reference and the connect-src page, checked 20 October 2026. For the visit counter: Cloudflare, Web Analytics and its FAQ (content security policy entries, when the beacon reports), checked 21 October 2026.

The two workers and what each can reach

Two background scripts, called workers, belong to the fixer.

  • The processing worker, /photo-date-fixer/js/worker.js, reads your ZIP files, matches them to the memories list and writes the fixed copies. The page hands your files to it and to nothing else. A worker does not take on the policy of the page that starts it, so this one is not covered by the rules above. It contains no code that opens a connection, which you can read at that address, and it reports any network request it makes to the counter on the page.
  • The service worker, /photo-date-fixer/sw.js, keeps the offline copy. It fetches only this site's own files, the ones the fixer's pages load, and passes every other request through untouched. It never receives your files.

So the worker that handles your files has no network code, and the one that uses the network reaches only this site's own files.

Source: MDN Web Docs, Using Web Workers (content security policy) and Service Worker API, checked 20 October 2026.

What the “Sent from this page” counter shows

The panel has a live counter, “Sent from this page”. From the moment you add files, it counts the network requests the page and its processing worker make. It ignores blob: and data: addresses, which need no network request, and the visit counter’s two addresses, static.cloudflareinsights.com and cloudflareinsights.com. It stays at 0. If a request ever appeared, the readout would show the request count and turn into a warning.

A page could draw any number, so the check below uses your browser's own tools instead.

How the offline copy works

The first time you open the fixer, your browser installs the service worker. It saves the fixer's pages, scripts, style sheets, fonts and images in the browser's cache. With a connection, pages still load from the network, so you get the current version; without one, they load from that copy. When the panel says “Works offline: ready”, the copy is complete. Clearing the site's data removes it. With the copy stored, the tool does its whole job without a connection, which is why airplane mode works. The visit counter's script is not part of that copy, so without a connection it simply does not run.

Check it yourself in Chrome or Edge

  1. Open the fixer (not this guide) in its own tab, press F12 and choose the Network tab. It records only while developer tools are open, so reload the page.
  2. Click the first row, the one of type “document”, and open its Response tab. Near the top of the page source you find the meta tag with http-equiv="Content-Security-Policy". Its content matches the policy above and includes connect-src https://cloudflareinsights.com, the only address the page may connect to.
  3. Wait for “Works offline: ready” in the panel and clear the list. Press “Try a sample export”, wait for the review screen, choose “Browser storage, then I save each part” if the folder option is shown, and press “Fix dates and build the ZIP parts”. The sample is made-up data built in your browser. When the parts are ready, the counter reads 0. The list has no row for any address except this site and the visit counter: its script, and a small POST to cloudflareinsights.com/cdn-cgi/rum when the page loads and when you leave it. Open that POST and read its payload: the page address, the page you came from, browser and loading figures, and nothing from your files. The list may also show a few script files from this site, such as the sample builder and the processing worker. Rows that start with blob: or data: are not network requests.
  4. Reload once, switch on airplane mode (or choose Offline in the Network throttling menu) and run the whole sample again. It works without a connection, so it needed none. The visit counter's script does not load without one, and the tool does not need it.
  5. Optional: open /photo-date-fixer/js/worker.js and /photo-date-fixer/sw.js and search them for fetch, XMLHttpRequest, WebSocket and sendBeacon. The processing worker uses none of them; the service worker uses fetch only for this site's own files.

Repeat step 3 with your own ZIP files if you like, and press “Delete the temporary copies” when you are done. If anything differs from this page, write to info@peakappsstudio.com.

Source: Chrome DevTools documentation, Network panel reference, checked 20 October 2026.

Sources

Run the sample with developer tools open, then add your own export the same way.

Open the date fixer

Questions people ask

Does Photo Date Fixer upload my Snapchat export?

No. Your ZIP files are read inside your browser, the page's security policy tells the browser to refuse every outgoing connection from the page except the visit counter's, and the processing worker contains no network code. The steps above let you confirm it.

Do you keep a copy of my photos or locations?

No. We never receive your photos, videos, memories list or locations. The fixed parts stay on your device: in a folder you choose, where your browser offers that option, or in the browser's private storage until you delete them with the button or clear the site's data.

Does the site use cookies, analytics or ads?

Only a visit count. We count page visits with Cloudflare Web Analytics: no cookies, no personal data, and never your files. There is no account and there are no ads. Vercel, our hosting provider, processes the technical data of each page request (IP address, browser user agent, time and page address) to serve and protect the site.