Privacy
Last updated
This is short because there is very little to disclose. AssayPlot has no accounts, sets no cookies, runs no analytics, and makes no network request while you are using either tool. Buying a licence is the one exception, and section by section below says exactly what that involves.
The short version
Your data is read, parsed, fitted and drawn inside your own browser tab. It is not uploaded, not logged, and not transmitted anywhere. There is no account to create, no cookie set, no analytics script, and no request of any kind while you are using either tool.
You can check this rather than take it on trust: open your browser’s network panel, paste a dataset in, change every option, and export a figure. There will be no outgoing requests. That is the design, not a policy promise — the computation is in the JavaScript that was already downloaded, and no part of this site can accept a dataset.
There is one place a request happens, and it is buying a licence. That is described in full below. It carries no research data of any kind, and it only ever happens because you clicked a button that says so.
What is stored on your device
Two things, both in your browser’s local storage, both readable and deletable by you at any time: your light or dark theme preference, and your licence key if you have bought one. Neither is a cookie, neither is sent with any request, and clearing your browser data removes both.
One more, in session storage, which is discarded when you close the tab: a flag remembering that you cleared the sample dataset, so it does not reload itself while you are working.
What the host can see
The site is static files served by a hosting provider. Requesting a file means the provider sees the request — the URL, your IP address, your browser’s user-agent string — in the same way that requesting any web page does. That is a property of HTTP, it applies to the HTML and the JavaScript, and it happens before any of your data exists in the page. It is also the whole of it: your dataset is never part of a request, because no request carrying one is ever made.
Payments, and the only server code on the site
Buying a licence is the one thing here that touches a server. Three small endpoints exist and they are the whole of it: one that opens a Stripe checkout session from a plan name and nothing else; one that exchanges the Stripe session you are redirected back with for a signed licence key; and one that Stripe calls when a payment completes, which sends the licence email.
None of them receives a number you have plotted — there is no endpoint on this site that would accept one. There is no database behind them, and no database at all, so no customer record, no order history and no copy of your licence key exists on this side. Server logs are written without the key and without your address.
Stripe is the payment processor and holds the payment record: your email address, your card details, the amount, and the billing and country information it needs for tax. Card numbers never pass through this site — checkout happens on Stripe’s own pages. Stripe’s handling of that data is governed by its own privacy policy.
Resend delivers the licence email. It receives the address you paid with and the message, which contains your key. Vercel hosts the site and, like any web host, records standard request logs for a limited period. The three endpoints themselves run on Cloudflare rather than on the host serving the pages, so a request to one of them is seen by Cloudflare in the same ordinary way — the URL, your IP address, your user-agent — and by nobody else.
If you never buy a licence, none of this paragraph applies to you: no part of it runs unless you press a button that says it is going to.
Licence keys
A licence key is verified in your browser using a public key built into the application. The check is arithmetic on your own machine rather than a call to a server, which is why the tools keep working offline, why buying one does not create an account, and why nothing here can tell whether or how often you use a licence you have bought.
A key contains no personal data. It carries a one-way hash of the email address it was issued to — not the address itself — so that a key which ends up somewhere public cannot be turned back into somebody’s email. The hash lets support confirm whether a key belongs to the person asking about it, which is the only question that field ever had to answer. It also carries a one-way hash of the transaction it came from, for the same reason.
Because no copy of the key is kept, deleting your payment record at Stripe does not revoke a licence you already hold, and we cannot re-send a key we never had. The licence email and the activation address you landed on after paying are the whole record.
Changes, and how to ask about any of this
If this policy changes, the date at the top of the page changes with it. Questions go to the address in the footer and are answered by a person.
Questions about any of this go to help@assayplot.com, and are answered by a person.