Haven Docs

Subscription and Pro

Haven has one paid tier, Haven Pro Plus.

What is free, forever#

The entire gambling block, and everything that keeps it standing:

  • DNS filtering of gambling sites
  • The gambling-app block and App-check
  • The blocked-site redirect and the page-content watch
  • Self-learning and personal filters
  • Automatic signed blocklist updates
  • The block log and activity view
  • The PIN lock, the disable cooldown and its escalation
  • Delete protection
  • Sam, the streak, streak cosmetics and the widget
  • Both interface languages, and light/dark appearance

Nobody is priced out of the actual protection. That is a product rule, not a launch promotion.

What Pro Plus adds#

Feature
Financial protectionThe pause in front of money apps, the hard lock, the recurring spending day and the emergency unlock
Budget and spendingMonthly plan, weekly balance tracker, expense sheet
Rest libraryBreathing, grounding, body scan, wind-down, soundscapes
Accountability partnerPairing and event notifications
CosmeticsThe Pro items and tricks for Sam

Pricing and the trial#

Pricing is a three-tier ladder — weekly, monthly and yearly — with weekly and monthly deliberately priced up so the yearly plan reads as the value choice.

Prices are never hard-coded in the app. Every price shown comes live from the store, so what the user sees is what their store will actually charge in their currency.

The free trial is a Google Play free-trial offer on the base plan, not something the app implements. Payment details are taken up front, the trial period is free, and it converts automatically unless cancelled. The paywall states this in the form "N days free, then [price]" before any purchase. No app code drives the trial.

Managing the subscription#

The subscription screen opens a Customer Center where the user can see their plan, restore purchases and reach the cancellation flow. Cancellation itself is handled by Google Play, as it must be.

Restore purchases is available for reinstalls and new devices.

How the entitlement is decided#

This matters for correctness, so it is worth stating plainly:

  • The server is the source of truth. Pro is decided server-side, from records that only the server writes. The payment processor reaches it through a server-to-server webhook — never through the device.
  • The local cache is availability, not authority. It holds the last answer the server gave.
  • A failed check writes nothing. Only a successful answer changes the stored state. This is deliberate and important: financial protection gates on this value, so if a failed request could flip Pro to false, the pause in front of someone's banking app would vanish the moment they lost signal.
  • Signing out clears Pro, because the entitlement belongs to the account. That is a local, certain signal — unlike a missing answer, which could mean anything. A user who was never signed in keeps what they bought.

A modified app cannot grant itself an entitlement: the client has read access to its own entitlement row and no write path at all. Administrative grant and revoke operations exist only as server-side functions and are deliberately absent from the app.

Full detail in Accounts and entitlements.

If the subscription lapses#

Pro features stop cleanly rather than half-working:

  • Financial protection stops intervening.
  • Pro cosmetics stop being drawn, but the user's choice is kept, so it returns exactly as it was if Pro returns. Nothing is wiped.
  • The entire gambling block, the PIN, the cooldown and delete protection are completely unaffected. Nobody loses their gambling protection by not paying.