Privacy Notice
Short version
We collect the minimum needed to run your account. We do not sell your data, we do not use your stock data to train models, and you can take everything with you or have it deleted whenever you want.
Who is responsible
StockRoom is run by an independent Australian business, which is responsible for the personal information described on this page. To ask about it, see it, correct it or have it deleted, use the contact page.
What we collect and why
- An email address, if you create an account - that is the account. We do not ask for your name or your business name. Lawful basis: performance of a contract.
- Your stock data - products, quantities, counts and the history of changes. Lawful basis: performance of a contract.
- Payment details - handled entirely by our payment provider. We never see or store your card number.
- Counts of what happens on the site - that a page was viewed, that a tool was used, that somebody reached the plan limit. Events from the app also carry where you first came from: the page of ours you arrived on (or the tag in the address you followed) and the site that sent you, host only, taken from the first-visit note described under "what is kept on your device" below. There is no visitor id, no cookie and no address stored with them. The public pages' own counts do not carry that note. We can tell that eleven people reached the limit; we cannot tell whether that was eleven people or one person eleven times, and that limit is deliberate. Lawful basis: legitimate interests.
- Anything you type into "Suggest a feature" - and an email address only if you choose to add one so we can reply. Leaving it blank sends the suggestion anyway. Lawful basis: consent.
- Anything you type into the help box - the one at the bottom of the side menu, along with what we type back, kept as a conversation so that both of us can read what was already said. An email address only if you add one. We can see which screen you were on when you opened it, because a problem described from the reorder screen is a different problem from the same words typed on the pricing page. Nothing else about you is attached, and if you are signed in the conversation is linked to your account so that it survives this browser. Lawful basis: consent.
- A record of what the app did, so we can fix it when it breaks - that a page opened, that a request took nine hundred milliseconds and came back 403, that a sign-in was refused, that a stock change would have taken a shelf below zero. It records shapes and not contents: how many products were in a sync, never which; that a stock change was refused, never the product it was about. Your product names, your quantities and your SKUs are not in it. Where a sign-up fails we keep the domain half of the address and never the whole address, because "every Outlook sign-up is failing" is a fault we can fix and "this person is failing" is not our business. While you are signed in it carries your account id, so that we can tell a fault affecting one person from one affecting everybody. Lawful basis: legitimate interests. See How long we keep it below.
Who we share it with
Three suppliers, and nobody else: our hosting, our database, and Google Analytics and Microsoft Clarity on these public pages. That is the whole list. There is no advertising, we do not sell your data, and we never will.
This page used to say there was no error monitoring either. There is now, and it is worth saying plainly what changed and what did not. We keep a record of what the app did so that we can fix it when it breaks, described in the list above. It is not a third party. It goes into our own database, in the same London region as everything else, and it is not sent to any monitoring company. Nobody outside this business can read it.
Google Analytics counts how many people arrive, which pages they read and roughly where in the world they are. We run it without any storage on your device, so it sets no cookie.
Session recording. On these public pages (not in the app) we also use Microsoft Clarity, which records how a page is used: clicks, scrolling and mouse movement, so we can see where people get stuck. Text you type into a form is masked and is not recorded. Clarity sets first-party cookies on your device to tell one visit from the next, and Microsoft processes the recordings under its own privacy statement. If you would rather not be recorded, block clarity.ms in your browser or turn on Do Not Track or a content blocker.
Neither Google Analytics nor Clarity runs on the app itself. Once you are signed in and working with your own stock, no analytics or session recording is watching what you do.
That sentence used to end "nobody is counting", and that is no longer the whole truth, so it has been narrowed rather than left to flatter us. The record described above does run in the app. It is not analytics and it is not used to study how you work: it exists so that when something fails, we can see that it failed and why, instead of waiting for you to tell us.
Where it is held
In the United Kingdom. Your stock records live in a Postgres database hosted by Supabase in their London region (eu-west-2), and they are not copied anywhere else.
One thing does leave the UK, and only one: the emails we send you. Resend, our email provider, sends from Ireland (eu-west-1), which is inside the EU and covered by the UK adequacy decision for the EEA. Nothing but the message itself and your address goes with it, and no stock record is ever in an email.
How long we keep it
- While your account is open, and for 90 days after you close it, so an accidental cancellation is recoverable.
- The record of what the app did is kept for 30 days for ordinary lines, and 90 days for the ones about something going wrong. Older ones are deleted outright. Warnings and errors last longer for one reason: a fault somebody has been putting up with for weeks is the one where the history matters.
- Delete on request removes it sooner, including from backups within 35 days.
- Invoices are kept for six years because tax law requires it.
Your rights
You can ask for a copy of your data, correct it, delete it, restrict or object to processing, or take it elsewhere in a portable format. Email us and we will respond within one month. You can also complain to the ICO at ico.org.uk.
Cookies, and what is kept on your device
Nothing here is used for advertising. Google Analytics runs with its storage turned off. Microsoft Clarity, which records how our public pages are used, sets its own first-party cookies (named _clck and _clsk) to recognise a visit; they are used only for that. They are not set in the app. You can clear them in your browser at any time.
What we do use is your browser's own storage, and rather more of it than the sentence above used to admit. It is worth being exact, because this is the part of StockRoom we are proudest of: your stock lives on your device, not on ours, and that is the default rather than a setting.
- stockroom - your whole stock: products, quantities, counts and the history of changes. Held in this browser. If you never create an account it never leaves the device.
- stockroom.v1 - an older copy of the same thing, from before we moved storage, kept rather than deleted so nothing is lost if the new one ever fails.
- stockroom.workspace - a random number that says which set of stock this browser is looking at. It is not derived from you and it identifies stock, not a person.
- stockroom.ledger.tenant - which company the stock in this browser belongs to, so that opening a second company empties the first one out of the device instead of adding the two together. Like the line above it, it identifies stock rather than a person.
- stockroom.session - your sign-in, if you have an account.
- stockroom.country - which country's prices to show you.
- stockroom.intent and stockroom.paid - the plan you chose, so the choice survives the trip to the payment page and back.
- stockroom.thanked - that we have already thanked you for a payment, so we do not do it twice.
- stockroom.suggest.queue - a suggestion that could not be sent, kept until it can be.
- stockroom.handoff and stockcheck.v1 - a count made in the free stock count tool, and the copy of it carried into the app if you choose to carry it.
- stockcheck.record.v1 and stockcheck.zones.v1 - in the free stock count, the details for your stocktake record (business name, who counted and valued it, the date) and your plan for counting by zone. They stay on this device and are only printed if you print them.
- binlabels.v1 - the racking you typed into the free bin location label maker, so it is still there next time. Nothing in it is sent anywhere.
- stockroom.deadvalues - in the app, what you said slow stock would sell for now and why, for the 30 June closing stock. It stays on this device and is not copied to your account.
- stockroom.suppliers - in the app, the suppliers you added in Buy (name, the email you send orders to, how long they take) and which products come from each at what price. It stays on this device and is not copied to your account.
- stockroom.firstTouch - a note made on your first visit: the time, the page of ours you landed on, any utm tags in the address you followed (for example which page's button you pressed), and the page you came from, without anything after a question mark. It stays in this browser until you create an account. When you do, it is saved with your account, and its page and the referring site are added to the counts the app sends (see "Counts of what happens on the site" above). It tells us which of our pages or which site brought somebody, so we can see what works. It is not used to identify you or sent to anyone else.
- stockroom.tools - which of the app's screens you have switched on, so the menu looks the same next time. It holds no stock and no personal details.
- stockroom.showEbay - a switch only the owner can set, in this browser, to show the unfinished eBay screen. Nobody else has it on.
- stockroom.ebay.catalog - only if the unfinished eBay screen is switched on: listing details loaded for it, kept on this device, and with your account when you are signed in.
- stockroom.probe - only ever set if the address you arrived on asked for it, and only used by us, to mark the visits we make ourselves so we can leave them out of our own figures. It is not derived from you and it is gone when you close the tab.
- stockroom.probe.owner - set only if the address you arrived on said
probe=owner. It is how the people who built this stop their own visits counting as customers on their own board. It records nothing about you, and if you are not us you will never have it. - stockroom.account.wanted - set only if you press the button saying you would like an account when they open. It records nothing about you and is not sent anywhere; it is how this browser knows not to ask you again.
- stockroom.dashboard.panels - which panels you put on your dashboard, and in which order. It is a list of our own panel names and nothing about your stock.
- stockroom.overview.panels - which extra panels you added to the Overview, in the order you added them. Like the line above, it is a list of our own panel names and nothing about your stock.
- stockroom.theme - whether you chose the light or the dark look for the app.
- stockroom.start.hidden - whether you hid the getting started list on this device, so it stays hidden.
- stockroom.tour.seen - which update this device last showed you the welcome or what is new for, so it is not shown again.
- stockroom.join - the code from a team invitation link you opened, kept only in that tab while you sign in or make an account, and removed once the invitation is used.
- stockroom.plan.wanted - the paid plan you pressed on our website before you had an account, and when, so the app knows which plan you asked for once you are signed in. It is a plan name and a time, and nothing about you.
- stockroom.install.snoozed - the date you last said "not now" to being offered the app on your home screen, so we wait a fortnight before asking again.
- stockroom.support.token - a random number that identifies one conversation with us in the help box, and nothing else. It is what lets your own messages and our replies come back to this browser: whoever holds it can read that one conversation, so it is never sent anywhere except to us when you open the box. Clear it and the conversation is still ours, and no longer yours to read. It is not derived from you and says nothing about who you are.
- stockroom.support.seen - when you last had the help box open, so a reply that arrived since can be marked as new.
- ops.run and ops.seq - a random number for this browser tab, and a counter, used only to put the record described above in the order things happened. Both are gone the moment you close the tab, which is deliberate: it means the record of one visit can be read in order and two visits by the same person can never be joined together. Neither is derived from you.
Clearing your browser data removes all of it. If you have no account, that also removes your stock, which is why the app offers a backup file you can keep yourself.
Security
Data is encrypted in transit and at rest. Each business's records are isolated at the database level rather than by application code. Access to production data is limited and logged. If a breach occurs that risks your rights, we will notify the ICO within 72 hours and tell you where required.