tenure

Brand · Domain · Languages

Looks like your app. Speaks their language.

The flow takes your app's look, emails go from your own domain, nine languages are built in, and a floor of exits sits under every theme.

Light, rounded

Pause instead of cancelling?

Billing resumes on Nov 26. Keep everything you’ve made.

Pause for 1 monthCancel instead

Dark, square

Pause instead of cancelling?

Billing resumes on Nov 26. Keep everything you’ve made.

Pause for 1 monthCancel instead

Warm, serif

Pause instead of cancelling?

Billing resumes on Nov 26. Keep everything you’ve made.

Pause for 1 monthCancel instead

Built-in wording in 9 languages

Up to 4 on one plan
EnglishDeutschEspañolFrançaisItalianoNederlandsPortuguêsSvenska日本語

The problem

A bolted-on cancel flow feels like a trap.

  1. 01

    Someone else's widget

    A stranger's font at the most sensitive moment.

  2. 02

    Emails from a vendor

    They read as marketing, and land like it.

  3. 03

    English only

    Customers paying in euros or yen deserve better.

How it works

What Tenure does, step by step.

  1. 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 instead

    Dark, square

    Pause instead of cancelling?

    Billing resumes on Nov 26. Keep everything you’ve made.

    Pause for 1 monthCancel instead

    Warm, serif

    Pause instead of cancelling?

    Billing resumes on Nov 26. Keep everything you’ve made.

    Pause for 1 monthCancel instead

    Built-in wording in 9 languages

    Up to 4 on one plan
    EnglishDeutschEspañolFrançaisItalianoNederlandsPortuguêsSvenska日本語
  2. 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>

    Y

    Your plan changes on Oct 12

    You’re moving to Basic at your renewal. Nothing changes until then.

    View your plan

    From Sam <sam@yourapp.com>

    Y

    Your plan changes on Oct 12

    You’re moving to Basic at your renewal. Nothing changes until then.

    View your plan
    Hosted cancel pageYour icon and colours, never ours
  3. 03

    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日本語
    English

    Keep my subscription

    Deutsch

    Abo behalten

    Français

    Garder 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

  4. 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 feature
    Cancel now without answering
    One-step cancel, on by default
    27 EU statesCanadaNew YorkEvery US state

    host 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?
Not raw CSS. Use the --tenure-* variables and named parts, or your own screens with the headless SDK.
Which email providers work?
Resend, with your own account and a verified domain.
Can a plan run in all nine languages?
Up to four at once: your source language and three translations.

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.

Starts in test modeStripe or ChargebeeQuestions first? Talk to us