Privacy policy
What we collect, and why
When you use the application
| Data | Why | Lawful basis |
|---|---|---|
| Your work email address | To identify which seat you hold, and to send the six-digit code that activates a machine | Performance of a contract |
| A one-way hash of a machine identifier | So a seat runs on one machine at a time. We receive the hash, never the identifier itself, and cannot reverse it | Legitimate interests: enforcing the licence you bought |
| A machine label (the hostname and the operating system), and the application version | So your administrator can tell which machine is which, and so we can tell which version a bug report is about | Performance of a contract |
| When each machine was first and last seen | To answer "which machines are on our seats, and is this one still in use" | Legitimate interests: administering the licence you bought |
| The IP address you ask for a one-time code from | Rate limiting: it is what stops somebody requesting thousands of codes | Legitimate interests: security and preventing fraud |
Activating a machine sends your email address, the code from your email, the machine hash, the machine label and the application version. After that the application checks in about once a day: it sends the signed licence it already holds and the application version, and gets a fresh licence back. Handing a machine back sends that same licence and nothing with it. There is nothing else in any of those messages.
Cloudflare, which runs the licence service, sees the IP address each request comes from, as any web server does. We store it against a request for a one-time code and against a sign-in session on the licence service, and never against a daily licence check.
When your organisation buys seats
Organisation name, the names and email addresses of administrators and users, seat assignments, and an audit trail of what has happened to the organisation: a machine activated, deactivated or released, somebody invited or removed, a trial ending, and what Stripe told us about the subscription. Basis: performance of a contract.
Payments are taken by Stripe. Card numbers never reach us: Stripe processes them and we hold a customer reference, the invoices, and what was bought. We keep invoices for six years because UK tax law requires it. Basis: contract, and legal obligation.
When you email us, or use the contact form
Your address and whatever you write, kept while we deal with it and for two years afterwards so we have the history of a problem when it comes back. Basis: legitimate interests: answering you.
The contact form sends the same thing to the same inbox, by email. What you write is not stored in our database: it is sent on and kept in the inbox. What the database keeps is the topic you chose, your address, the IP address it came from and the time, for seven days, and only so that one visitor cannot send a thousand messages an hour. Basis: legitimate interests: answering you, and keeping the form usable.
When you visit this website
There is no analytics, no tracking and no advertising. The pages load from this domain, with two exceptions. The typefaces come from Google Fonts, so your browser fetches them from Google's servers, which see your IP address and the address of the page in order to serve them. Google's own notes on what it does with that say the requests are not used for profiling; we receive nothing back from them. And the contact page, and only that page, loads Cloudflare Turnstile: the challenge that tells a person from a script, which is what lets us offer a form there instead of printing our addresses for every scraper on the internet to collect. It sees your IP address and how your browser behaves; Cloudflare says it does not read what you type into the page, and it sets no cookie in the way we use it. Our host, Cloudflare, also keeps short-lived request logs including IP addresses to run and protect the site. Basis: legitimate interests: keeping it up, keeping it readable, and keeping automated abuse out of it.
The site sets no cookies. Your light or dark preference is kept in your own browser's local storage, on your device, and never sent anywhere.
How long we keep it
| What | How long |
|---|---|
| Activation records: the machine hash, its label, and when it was first and last seen | 24 months from that machine's last check, then deleted by the nightly job |
| Sign-in and activation codes | Good for 10 minutes and usable once; the row is deleted in the next nightly clear-out |
| The record of issued licence tokens, which is what lets one be revoked | Until the token expires, then deleted by the nightly job |
| Sign-in sessions on the licence service, with the IP address and browser they were made from | 7 days, then deleted by the nightly job |
| Accounts, seats and the audit trail | While you are a customer, then 24 months. Deleted by hand when an account is closed, or sooner if you ask |
| Invoices and payment records | 6 years, as UK tax law requires |
| Support email, including messages sent from the contact form | 2 years after the matter is closed |
| The record that a contact message was sent: topic, address, IP address and time, never the message itself | 7 days, then deleted by the nightly job |
Who else processes it
| Who | What for | Where |
|---|---|---|
| Cloudflare | Hosting this site and the licence service, and its database; and Turnstile, the challenge in front of the contact form | Global network; data at rest in the region Cloudflare assigns |
| Stripe | Taking payments and holding card details | EU and United States |
| Resend | Sending the six-digit codes and seat invitations. Link and open tracking are switched off, so nothing in those messages reports back | EU and United States |
Each is a processor acting on our instructions, under a data-processing agreement. Where data goes outside the UK, transfers rely on the UK addendum to the EU Standard Contractual Clauses or an adequacy decision. We do not sell personal data, and we never will.
Your rights
Under UK GDPR you may ask us for a copy of the personal data we hold about you, ask us to correct it, ask us to delete it, ask us to restrict or stop processing it, object to processing we do on the basis of legitimate interests, and ask for it in a portable format. Ask on the contact form under Data protection, or write to privacy at reqforge dot net, and you will get an answer within one month.
Note that deleting the data behind an active seat means the seat stops working. It is the seat. We will explain that before doing it rather than quietly breaking your install.
If you think we have got this wrong, you can complain to the Information Commissioner's Office at ico.org.uk, though we would rather you told us first.
Security
Licence tokens are signed with Ed25519 and the signing key exists in one place, a secret held by our host. Sign-in codes are stored as keyed hashes, never as codes. There are no passwords to steal because there are no passwords. Access to the production database is limited to the owner of this business.
Found a hole? The contact form under Security, or security at reqforge dot net, and thank you.
Changes
If this policy changes in a way that affects you, we will email administrators before it takes effect. The date at the top always says which version you are reading.