Brand · Domain · Languages
Looks like your app. Speaks their language.
Light, rounded
Pause instead of cancelling?
Billing resumes on Nov 26. Keep everything you’ve made.
Pause for 1 monthCancel insteadDark, square
Pause instead of cancelling?
Billing resumes on Nov 26. Keep everything you’ve made.
Pause for 1 monthCancel insteadWarm, serif
Pause instead of cancelling?
Billing resumes on Nov 26. Keep everything you’ve made.
Pause for 1 monthCancel insteadBuilt-in wording in 9 languages
Up to 4 on one planThe problem
A bolted-on cancel flow feels like a trap.
01
Someone else's widget
A stranger's font at the most sensitive moment.
02
Emails from a vendor
They read as marketing, and land like it.
03
English only
Customers paying in euros or yen deserve better.
How it works
What Tenure does, step by step.
01
Match the page
On by default: accent, corners, fonts, light or dark. Override with --tenure-* variables; weak contrast is deepened until it passes.Light, rounded
Pause instead of cancelling?
Billing resumes on Nov 26. Keep everything you’ve made.
Pause for 1 monthCancel insteadDark, square
Pause instead of cancelling?
Billing resumes on Nov 26. Keep everything you’ve made.
Pause for 1 monthCancel insteadWarm, serif
Pause instead of cancelling?
Billing resumes on Nov 26. Keep everything you’ve made.
Pause for 1 monthCancel insteadBuilt-in wording in 9 languages
Up to 4 on one planEnglishDeutschEspañolFrançaisItalianoNederlandsPortuguêsSvenska日本語02
Your domain, your emails
Customer emails from your own Resend account, in your look, with a dark mode. Hosted pages carry your icon, never ours.From Sam <sam@yourapp.com>
YYour plan changes on Oct 12
You’re moving to Basic at your renewal. Nothing changes until then.
View your planFrom Sam <sam@yourapp.com>
YYour plan changes on Oct 12
You’re moving to Basic at your renewal. Nothing changes until then.
View your planHosted cancel pageYour icon and colours, never ours03
Nine languages
Built-in wording in nine languages. A plan publishes in up to four, each translation checked and reviewed by you.Built-in wording in 9 languages
EnglishDeutschEspañolFrançaisItalianoNederlandsPortuguêsSvenska日本語EnglishKeep my subscription
DeutschAbo behalten
FrançaisGarder mon abonnement
日本語サブスクリプションを続ける
Your plan: English, plus up to 3 translations, each reviewed before it publishes.
Picked by exact match, then base language, then your source · reads the page’s lang first
04
A floor under every theme
Exits stay full size whatever the page does. No custom CSS; the headless SDK keeps the same rules for fully custom screens.What’s the main reason you’re leaving?
Too expensiveNot using it enoughMissing a featureCancel now without answeringOne-step cancel, on by default27 EU statesCanadaNew YorkEvery US statehost CSS: .cancel { opacity: .2 }
Exit restored
The details
What’s in it.
- Light and darkFollows your app's theme.
- Reads your live appMatches what it sees on the page.
- Brand fontsLicensed WOFF2 or WOFF, up to six.
- The right registerSie in German, vous in French.
- Picks the languageReads the page's lang first.
Questions about this part.
Can I write my own CSS for the flow?
Which email providers work?
Can a plan run in all nine languages?
See the plan Tenure would draft for your app.
Give it your site address. It reads your pricing and your Stripe catalogue, drafts a retention plan in about a minute, and waits for you. Nothing reaches a customer until you publish.