Security
Is it safe to upload a receipt?
Short answer: yes, and the reason is worth more than the answer. A receipt you upload is never published on the web — there is no address that reaches one on its own, and it is shown only to people the app has confirmed are on that bill. EachSplit also has no connection to any bank or card, so there is no payment credential for anyone to steal.
The safest thing about it is what it cannot do
Most of the risk in a money app comes from the money moving through it. EachSplit has none of that surface, on purpose:
No bank connection
It never links to an account, never reads a transaction feed, and never asks for online banking credentials. There is nothing to phish out of it.
No card details
Nothing is ever charged, because there is no paid tier. No card number is collected, stored or passed to a processor.
No balance held
It is not an escrow or a wallet. Money you owe is a note between you and your friends; it never sits anywhere we control.
No money movement
You settle up however you already do — cash, a transfer, a payment app — and mark it settled here. It cannot send your money to the wrong person because it cannot send your money anywhere.
Where a receipt actually goes
A receipt is more revealing than people expect. It records where you were, at what time, what you ate, how many of you there were, and sometimes the last four digits of a card. It is treated accordingly.
- 1It is never published on the web. An upload does not land anywhere the site hands out on its own. No address reaches a receipt directly, so there is nothing to be found by guessing at one.
- 2It is shown only to people on that bill. Every request for a receipt goes through the same permission check the rest of the app uses — one check, not a copy pasted into each screen, where one copy eventually drifts out of step with the others.
- 3Everybody else is simply turned away. A refusal that says "you may not see this" has already confirmed that "this" exists. Somebody who is not on the bill gets an answer that confirms nothing either way.
- 4It is scanned, not sold. The image goes to the OCR vendor to be read into line items and nowhere else. It is not fed to an ad network and there is no analytics pipeline reading it.
- 5Removing it is something you ask for — and it happens. Deleting a bill takes it out of the app for everyone on it straight away, and its receipt stops being reachable. The stored file comes off the server when you ask: nothing here expires on a timer, so removal is a request rather than a background job. Ask and it goes; the privacy page sets out exactly what that covers.
What a share link does, and what it does not
The claim link is the feature that makes splitting work without accounts, and it is the one worth understanding properly. It is a capability: whoever holds it can open that bill. That is the trade that removes the sign-up, and it is the same trade a shared document link makes.
What limits the blast radius is what a link-holder is allowed to do. Somebody arriving from a link can claim their own items and leave a comment. They cannot rewrite the receipt, change what somebody else claimed, see any other bill, or reach your account. And the owner can revoke the link at any point, which stops it working for everyone at once.
Practical advice: a claim link belongs in the group chat with the people on the bill, not on a public timeline. If one does escape, revoke it — the bill and everything already claimed on it survive.
Accounts and sessions
- Your password is never stored — only a one-way scramble of it that cannot be turned back. Nobody can read a password out of the database, which is also why a lost one can only be replaced, never recovered.
- The cookie that keeps you signed in cannot be read by scripts on the page, and cannot be used by another site to act as you.
- Everything is served over HTTPS, so nothing travels in the clear between your browser and the server.
- Changing your password signs out every other device— which is the point of changing it if somebody else got in. The browser you change it on stays signed in, on a fresh session, and tells you how many others it just ended.
- Signing in with Google means we never see a password at all.
Your bills are not searchable
Shared bills, receipt files and everything behind a sign-in are kept out of search engines twice over: once by the list crawlers read before they visit, and again by an instruction carried on the pages themselves. Belt and braces, because the first of those is only a request. A claim link pasted somewhere public still will not turn up in a search result. Only the marketing pages are crawlable at all.
What we do not claim
EachSplit is an independently run app on a small server, not a bank. It has not been through a SOC 2 audit or a formal penetration test, and it would be dishonest to imply otherwise. Receipts are stored so that they can be shown back to you, which means they are not end-to-end encrypted — an operator with server access could read them, exactly as with every other bill-splitting app that displays your receipt.
If that is more trust than a particular receipt deserves, do not upload it. The tip calculator works entirely in your browser and sends nothing to us at all, and typing a few lines in by hand never puts an image on our server. Note that the quick split is not that option — it skips the sign-up, not the storage.
Reporting a vulnerability
If you have found something, write to eachsplit.support@gmail.com with enough detail to reproduce it, and please give us a reasonable window to fix it before publishing. There is no bounty programme — it is one developer — but reports are read quickly and taken seriously, and you will be credited if you want to be.
Read the rest of it
The privacy page lists every field that is stored and for how long. The about page explains who runs this and how it pays for itself.
Split a bill