Privacy Policy
Last updated: July 28, 2026
STL Diff Online has two parts, and they handle your data very differently:
- The free in-browser diff - the tool on the home page. Your STL files never leave your browser: the whole comparison runs in JavaScript and a Web Worker on your own machine. We never receive your geometry, filenames, or model contents, and there is no sign-in and no upload.
- Premium projects - the signed-in Premium area. To give you revision history and instant diffs, the STL files you upload to a project are stored on our servers. This part is account-based and opt-in - it only applies once you sign in and create a project.
- Share for review - turning a comparison into a link someone else can open. This is the one place where a comparison you started in the browser is uploaded to our servers, because the person you send it to has to be able to open it on their own machine. It is opt-in and per-comparison: nothing leaves your browser unless you press Share for review and confirm, and the link expires on its own.
The free tool: what we don't collect
- STL file contents or geometry (parsed and diffed locally in your browser).
- STL filenames.
- Content hashes of your files. We compute a SHA-256 of each file in your browser to detect when the two sides are byte-for-byte identical, but the hash itself is never transmitted or stored.
- Your IP address (beyond transient use for spam protection - see below).
- Cookies for tracking, advertising, or third-party analytics.
The free tool: anonymous telemetry we do collect
To understand whether the tool is useful and to keep it running, we record a small amount of anonymous, non-identifying telemetry:
- Two anonymous ids - a persistent device id (a random UUID in
localStorage) and an ephemeral session id (a random UUID insessionStoragethat resets when you close the tab). Together they let us tell "one person did five diffs" from "five people each did one" and estimate how many people use the tool day to day - without knowing who you are. Clearing your browser storage resets the device id. - Diff metrics - for each comparison (whether it succeeds or fails) we log a small set of anonymous, non-identifying numbers: the byte sizes of the two files, how long the compare took, the triangle counts, whether each file was binary or ASCII STL, the volumetric percentage that changed and the added/removed volumes, the voxel resolution and alignment mode, a success/failure flag with a coarse error category, a "files are byte-for-byte identical" flag, the source (your upload vs the built-in example), your timezone offset and the app version - plus a timestamp. Never the contents, the geometry, or the filenames.
- Optional satisfaction rating - if you rate a comparison via the popover, we save the 1-5 star value, the optional pre-defined complaint reasons, and your optional "Tell us more" free-text note.
- Feedback messages - anything you type into the /feedback form on this site. If you provided an email, it is stored alongside the message so we can reply.
- Premium waitlist - if you submit your email on the Premium page, we store just that address.
Premium: what we store when you sign in
The Premium project area is account-based, so this part is not anonymous. When you sign in and use projects we store:
- Your account - you sign in through a third-party identity provider. We receive the identifier and basic profile the provider returns (such as your name or handle and email) and use it to identify your account. We never see your password.
- Your uploaded models - the STL files you upload to a project, their geometry, revision numbers, names and any comments you write. These are stored server-side so we can show revision history and cache diffs between revisions.
- Collaborators - if you invite someone to a project, we store that grant (who has viewer or editor access) so they can open it.
Your projects are private by default - visible only to you and the collaborators you explicitly invite. We do not make them public, index them, or share them with anyone else.
Share for review: what a link holds
A review is the one thing here that is deliberately readable by someone who has no account. When you share a comparison we store both models, their filenames and sizes, the settings the comparison was computed with, and the decision that comes back - an approve or a request for changes, plus whatever name and comment the reviewer typed about themselves. We do not verify that name, ask the reviewer to sign in, or record their IP address or device: a review decision is a message from a person you already know, not an electronic signature.
The link itself is the access. Anyone who has it can open the review and answer once, so treat it the way you would treat a link to a private file - send it to the person who needs it and no further. We keep review links out of search engines. You can revoke a link at any moment, which stops it opening for everyone immediately. We count how many times a review has been opened, roughly and without identifying anyone, so you can tell whether it has been looked at yet.
A review created while signed out lives in the browser that made it: the key that revokes it is stored only there, and we cannot recover it for you. Signing in offers to move those reviews into your account, which is what makes them survive a cleared browser.
Spam protection
We use your IP address transiently to prevent spam and abuse - rate-limiting the public forms (feedback, premium signup) and the creation and upload of reviews. Your IP address is neverstored alongside your submission, and any short-lived value we keep for abuse prevention is one-way and deleted within about a day.
How long we keep things
- Anonymous diff events: kept indefinitely in aggregate form.
- Feedback messages with an email attached: kept until we reply, or for at most 90 days, whichever comes first.
- Anonymous feedback (no email): kept indefinitely as product feedback.
- Premium waitlist emails: kept until Premium billing opens and we send the launch email, then deleted.
- Premium account data and uploaded models: kept until you delete them - remove a revision or a project, or ask us to close your account, and they're deleted from active storage.
- Review links: seven days on the free plan, thirty on Pro, extendable on a paid plan, and revocable by you at any time. Shortly after a link expires the models are deleted; the record of what was decided and when stays, because "expired" should not mean "never happened".
- Billing records: invoices and payment records are held by Stripe for as long as tax and accounting law requires. What we keep is a small copy of your subscription's current state - listed under Payments below - which is replaced each time Stripe tells us it changed and is deleted with your account.
- Abuse-prevention values: short-lived and one-way, deleted within about a day, and not linked to anything you submitted.
Payments
Subscriptions are processed by Stripe. Card details are entered on Stripe's own pages and never reach our servers - we never see or store a card number, and the billing address you give at checkout is held by Stripe, which uses it to work out the tax due in your country. What we store is a copy of your subscription as Stripe describes it - your Stripe customer and subscription ids, the price id, whether it is monthly or yearly, the amount and currency of that price, whether a promotion code applies, the status, whether it is set to cancel, and the date the current period ends. That copy is what lets the app know which plan you are on without asking Stripe on every page, and it is replaced whenever Stripe tells us the subscription changed. Your email and name are shared with Stripe so your invoices carry them. Invoices themselves are served by Stripe, and each one names the seller for that sale.
Third parties
We do not sell or rent your data. The application and its database run on a third-party cloud hosting provider, Premium sign-in uses a third-party identity provider, and payments are handled by Stripe; each sees standard request, identity or billing metadata (timestamps, IPs, response codes, your sign-in identifier, your payment details) the way any web host, login provider or payment processor would, governed by their own privacy policies. We never share your projects or their contents with anyone except the collaborators you invite.
Your choices
- Free tool: to reset your anonymous device id, clear this site's
localStoragein your browser settings; the per-visit session id clears on its own when you close the tab. - Premium: delete any revision or project at any time to remove those models from our servers. To close your account and remove all of your data, ask us via the feedback form.
- Reviews: revoke a link at any time to stop it opening for anyone, from the Reviews section of your account or from the browser that created it. Revoking is immediate and cannot be undone.
- To remove a feedback message or waitlist email you previously sent, write to us via the feedback form and we'll delete it.
Changes
If we ever change what we collect, we'll update the "Last updated" date at the top of this page and call out the change in the footer's version badge.