Every number, and where it comes from.
Six plans. Prices in US dollars, exclusive of any tax we're eventually obliged to collect. A yearly plan is a single payment covering twelve months; the discount it buys is different on each plan — 20%, 23% and 25% — and each is shown next to the plan it belongs to rather than averaged into one number that would be wrong for two of them.
What the money buys is operational: a server somebody keeps patched, backed up and running, the limits in the table below, and a person who answers. It does not buy a stronger cryptographic guarantee than the free tools give, because it is not one. Signal, Session and SimpleX cost nothing and two of them hold less about you than we do — we say which, and where they beat us. Read the threat model before you read the price.
Two things to know before the numbers. A card ties your legal identity to a Haven account, and for the threat model this site describes that invoice is worth more to an adversary than the ciphertext — vouchers exist for exactly that reason and are the only path that attaches no name. And we cannot email you about your bill, ever, because no account carries an address: no receipt, no renewal reminder, no warning before a card expires. That one costs people accounts, so it has its own box.
Pick a plan
Team and Business bill from 3 seats, Enterprise from 50.
People outside your organisation are not seats. A volunteer, a client or a source joins on a free account and talks to your team at no cost to you, and somebody with no account at all can still send you material through a submission link you give them. And Haven is not meant to replace the office suite you already have: it is the conversation that must not be readable, beside it.
How you actually buy one
Pick a plan here and you land on the app's sign-up with that plan carried in the link. You make an account — a username and a password, no email, no phone number — and the app takes it from there. Nothing is charged before the account exists, and the plan in that link is a suggestion the server re-checks rather than anything it grants.
Two ways to pay. A card, through Stripe's own hosted page — no card number, expiry or security code ever reaches Haven's server, and Stripe holds the name and address your bank gives it. Or a prepaid voucher code, which is the path that attaches no name to the account: how you get one, and the exact size of that, is below. An instance whose operator has not configured a card processor takes vouchers only, and the app will say so rather than offering a button that fails.
- Free — start now, no card
- Personal — monthly yearly
- Family — monthly yearly
- Team — monthly, 3 seats yearly, 3 seats — change the seat count in the app
- Business — monthly, 3 seats yearly, 3 seats — change the seat count in the app
- Enterprise — quoted, not listed: talk to us
- Already hold a voucher code? redeem it in the app
- Giving Haven to somebody? A voucher is a gift subscription already — buy it, hand over the code, and whoever redeems it gets the plan. It names nobody.
The links above are the same hand-off the buttons make, written out so that a reader with scripting off has the whole purchase path in plain HTML. Everything after the link happens on the app, because that is where the account is and where a checkout can be started at all.
All six plans, side by side
| Plan | Free | Personal | Family | Team | Business | Enterprise |
|---|---|---|---|---|---|---|
| Price, monthly | $0 | $14.97 a month |
$38.97 a month |
$23.97 per seat, a month |
$38.97 per seat, a month |
Talk to us |
| Price, yearly | $0 | $143.64 a year — $11.97 a month, 20% less |
$359.64 a year — $29.97 a month, 23% less |
$215.64 per seat, a year — $17.97 a month, 25% less |
$359.64 per seat, a year — $29.97 a month, 23% less |
Talk to us |
| Seats | 1 | 1 | 6 accounts, one bill | From 3, up to 250 | From 3, up to 1,000 | From 50, no ceiling |
| Storage | 1 GB | 50 GB | 200 GB pooled across all six accounts |
100 GB per seat | 1 TB per seat | 2 TB per seat |
| Largest single file | 25 MB | 100 MB | 100 MB | 250 MB | 1 GB | 2 GB |
| Largest group | 10 people | 50 people | 100 people | 200 people | 500 people | 1,000 people |
| History kept on the server | 90 days then the server's copy is deleted |
Until you delete it | Until you delete it | Until you delete it | Until you delete it | Until you delete it |
| Devices signed in at once | 3 | 10 | 10 | 15 | 25 | 50 |
| Member management add and remove accounts on the plan |
No | No | Yes | Yes | Yes | Yes |
| Retention policy how long the server keeps messages |
No | No | No | No | You choose the window, or keep forever | You choose the window, or keep forever |
| Support a commitment about people, not a check in the code |
Community | Community | Community | Priority | Priority, same day | Priority, with an SLA |
Things people find out later, put here instead
The Free tier's 90 days deletes our copy, not yours
After 90 days the server deletes its copy of a message. It is a cost limit — storage is the expensive part of hosting this — and not a privacy feature in disguise. It uses the same mechanism as disappearing messages and carries the same limit every such feature has anywhere: it cannot reach a device that already synced the plaintext. If a phone downloaded the message, the message is on that phone.
Seat minimums are billed as minimums
Team and Business bill from 3 seats and Enterprise from 50, so a two-person team on Team pays for three: $71.91 a month, not $47.94. That's what "minimum 3 seats" means, and quietly charging for fewer would make the quoted price wrong right up until an invoice said otherwise.
Paying by card puts your real name on this account. A voucher does not.
This is the deanonymiser people miss. Every claim on this site is about what the server can read; none of it survives a card statement that ties a legal identity, a billing address and a bank to a Haven username. If your adversary can reach a payment processor — and a well-resourced one can — then the strongest thing we could hand them is not the ciphertext, it is the invoice. Pay by card and this account is named.
The voucher path is the answer to that, and it is built. A voucher is a 24-character prepaid code that buys a set number of months on a set plan. An operator mints it; you buy it from them however you and they agree — cash, a bank transfer, Monero, through a reseller who never tells us who you are; and you redeem it in the app against an account that was never asked for an email address. Redeeming one creates no payment-processor record of any kind: no customer row, no network call to anybody, and nothing that would tell Stripe this account exists.
How you get one today, stated plainly rather than dressed up: this website cannot sell you a voucher. There is no self-serve voucher shop and this page is not going to imply there is. You ask us for one, we agree how you are paying and how the code should reach you, an operator mints it, and it is sent the way you asked. The code's plaintext is shown to that operator exactly once and only a one-way hash is stored, so nobody — including us — can recover it afterwards. Quote its first four characters if you ever need us to find it; never send anybody the whole thing.
The exact size of the anonymity, because a claim with no limits stated is worth nothing. One column records that this account redeemed this code — the server has to know whether a code has been spent — and it is disclosed on your own data panel rather than hidden. So the unlinkability is between Haven and the buyer, and it only holds if the code changed hands somewhere we cannot see. Buy a voucher from us by card, in your own name, and we can join the two ends ourselves. Bitcoin has the caveat it always has: a public ledger is not anonymity, and a chain-analysis firm is exactly the sort of adversary this page is about. Cash by post and Monero do not have that problem. Mullvad has run this set for years, and it is where the design came from.
We cannot email you about your bill, and that can cost you the account
Haven holds no email address for any account, because there is no column to hold one —
users.email was dropped from the schema. That is the property the rest of
this site is proud of, and this is its bill. There is no receipt from us, no
renewal reminder, no card-expiring warning, no dunning email and no notice before a plan
lapses. There is also no password reset, and never could be.
Stripe may send a receipt to the address you typed into Stripe's page. That is Stripe's record and Stripe's message, and it is the only email connected to this service that anybody sends. We do hold that address. Stripe's notifications are stored on this server verbatim, so that each one can still be checked against the signature it arrived with, and a card payment's notification contains what you gave Stripe on its page. We have no way to send to it. A voucher-paid plan leaves no such record at all — which is the difference the voucher path buys.
So the account page in the app is the only place any of this appears. If a card expires, nothing reaches you: the subscription goes past due and free limits start applying to new activity until it is settled — nothing is deleted, and the refunds page says exactly what does and does not happen then. Check the account page, or pay yearly, or use a voucher whose length you chose on purpose. A customer who assumes an email is coming will not get one.
Storage is for encrypted attachments
The quota covers the encrypted file blobs we hold. It exists because without a per-account limit one account can fill a disk and take the database — and everyone else on that instance — down with it. The tradeoff is real: an upload that would cross the limit is refused rather than silently accepted.
A retention policy is a deletion tool, not a surveillance one
On Business and Enterprise, the person who owns the subscription can set how long the server keeps its copy of messages, choosing from a fixed menu of windows rather than typing a number — the difference between 30 days and 3 is somebody's quarter of a year. It cannot be used to read anything: the server holds ciphertext and no admin here has ever been able to decrypt it. The only thing it does is delete sooner.
Two limits worth knowing before you buy it. It removes our copy, on the same mechanism as disappearing messages and with the same caveat — it cannot reach a device that already synced the plaintext. And it only takes effect in conversations where every participant is under a window of their own, with the longest of those windows winning: one person on a plan that keeps history forever, and that conversation is left alone. Deleting history somebody else was promised is not a trade we make.
What a subscription actually buys
The operational half of this product: a server that stays patched, backed up and running, storage and push delivery somebody is responsible for, the limits in the table above, and — on the paid tiers — a named commitment about who answers you and how fast. That is the work, and it is what the price is for.
What it doesn't buy is a different security model. The encryption is the same code at every tier, no plan lets anyone here read or unlock anything, nothing has been through a professional audit yet, and paying us does not change the fact that you are trusting whoever serves you the JavaScript — which, on these plans, is us. That last one is the important one, and it is set out in full on the security page. Better read before the first payment than after it. What a subscription does come with in writing is on the terms, the refunds and cancellation page and the service level page — that last one is worth reading before you buy Team or Business, because it says plainly that no listed plan carries an uptime number or an automatic credit.
It also doesn't buy less metadata. Every tier leaves the same record on our disks: the server knows which accounts are in a conversation together, because that is a plain indexed table, and it stamps every message to the second. A retention window on Business and Enterprise blanks the message ciphertext and drops the attachment; it leaves the row behind as a tombstone, with its timestamp and its sender, and it does not touch the participant table at all. So even a swept conversation still says who spoke to whom, and when, forever. Paying more does not buy you a smaller shadow. The threat model lays out exactly what that shadow contains.