Epic: time-boxed sign-up trial with paid capabilities and end-of-August downgrade #51

Stängd
öppnade 2026-07-28 10:54:27 +00:00 av supernaut · 3 kommentarer
Ägare

Summary

Offer new users an opt-in, time-boxed trial at sign-up that grants the same capabilities as a
paid account
, as a bridge until paid subscriptions are available (targeted end of August 2026).
When the trial ends, the account is downgraded to a participant account (zero hosting quota,
retains read/collaborate access). The trial checkbox is a temporary stand-in that will be replaced
by the "subscribe" option once billing is live.

What we're building

  • A trial checkbox on the sign-up form, behind a runtime kill-switch, with in-form text
    explaining the trial ends at the end of August 2026 and the account then becomes a participant
    account.
  • A separate trial-terms page, linked from the checkbox.
  • A dedicated tier_trial entitlement group in the identity provider, nested so trial members
    get the full paid capability set (shared hosting quota, organisation creation, Actions/CI). The
    entitlement reconciler recognises tier_trial as paid.
  • An operator-triggered batch downgrade (tier_trial → participant) for end of August, with a
    runbook.
  • A trial badge in the account panel showing the end date.
  • Sign-up baseline correction: new non-trial accounts default to a participant account (zero
    hosting quota)
    , matching the pricing page and sign-up copy.

Decision record

See ADR 0036 — Sign-up trial and downgrade (decisions/0036-signup-trial-and-downgrade.md).

Tasks

  • bitborg-web: trial checkbox + trial-terms page + account badge
  • bitborg-web: default new sign-ups to a participant account (baseline)
  • bitborg-infra: tier_trial group + nesting, reconciler recognises it, downgrade runbook

Out of scope

Billing/payment collection (separate payments work); per-user rolling expiry; migrating existing
accounts.

## Summary Offer new users an **opt-in, time-boxed trial** at sign-up that grants the **same capabilities as a paid account**, as a bridge until paid subscriptions are available (targeted end of August 2026). When the trial ends, the account is **downgraded to a participant account** (zero hosting quota, retains read/collaborate access). The trial checkbox is a temporary stand-in that will be replaced by the "subscribe" option once billing is live. ## What we're building - A **trial checkbox** on the sign-up form, behind a runtime kill-switch, with in-form text explaining the trial ends at the end of August 2026 and the account then becomes a participant account. - A **separate trial-terms page**, linked from the checkbox. - A dedicated **`tier_trial` entitlement group** in the identity provider, nested so trial members get the full paid capability set (shared hosting quota, organisation creation, Actions/CI). The entitlement reconciler recognises `tier_trial` as paid. - An **operator-triggered batch downgrade** (`tier_trial` → participant) for end of August, with a runbook. - A **trial badge** in the account panel showing the end date. - Sign-up baseline correction: new non-trial accounts default to a **participant account (zero hosting quota)**, matching the pricing page and sign-up copy. ## Decision record See ADR 0036 — Sign-up trial and downgrade (`decisions/0036-signup-trial-and-downgrade.md`). ## Tasks - bitborg-web: trial checkbox + trial-terms page + account badge - bitborg-web: default new sign-ups to a participant account (baseline) - bitborg-infra: `tier_trial` group + nesting, reconciler recognises it, downgrade runbook ## Out of scope Billing/payment collection (separate payments work); per-user rolling expiry; migrating existing accounts.
Upphovsperson
Ägare

Tasks:

  • bitborg-web#92 — trial checkbox, trial-terms page, account badge
  • bitborg-web#93 — sign-up baseline: default to participant account
  • bitborg-infra#232 — tier_trial group + reconciler paid mapping + downgrade runbook

ADR: 0036 — Sign-up trial and downgrade (in this repo).

Tasks: - bitborg-web#92 — trial checkbox, trial-terms page, account badge - bitborg-web#93 — sign-up baseline: default to participant account - bitborg-infra#232 — tier_trial group + reconciler paid mapping + downgrade runbook ADR: 0036 — Sign-up trial and downgrade (in this repo).
Upphovsperson
Ägare

Shipped to production (2026-07-28). The opt-in sign-up trial is live: trial checkbox + /trial-terms on www.gitborg.se, Kanidm tier_trial group created and projected by the reconciler to the paid quota + org-create + Actions, account-panel badge, consent persisted. Verified healthy in prod (reconciler reading tier_trial, no alerts).

Tasks done: bitborg-web#92, bitborg-web#93, bitborg-infra#232. Decisions: ADR 0036. Reconciler work-queue design also recorded (ADR 0037, design only).

Remaining (scheduled, not dev work): the end-of-August operator-gated downgrade of trial members to participant accounts — procedure in the bitborg-infra runbook (§ Sign-up trial & end-of-August downgrade). Keeping this epic open until that runs; flip TRIAL_OPEN=false when paid subscriptions replace the trial.

**Shipped to production (2026-07-28).** The opt-in sign-up trial is live: trial checkbox + `/trial-terms` on www.gitborg.se, Kanidm `tier_trial` group created and projected by the reconciler to the paid quota + org-create + Actions, account-panel badge, consent persisted. Verified healthy in prod (reconciler reading tier_trial, no alerts). Tasks done: bitborg-web#92, bitborg-web#93, bitborg-infra#232. Decisions: ADR 0036. Reconciler work-queue design also recorded (ADR 0037, design only). **Remaining (scheduled, not dev work):** the end-of-August operator-gated downgrade of trial members to participant accounts — procedure in the bitborg-infra runbook (§ Sign-up trial & end-of-August downgrade). Keeping this epic open until that runs; flip `TRIAL_OPEN=false` when paid subscriptions replace the trial.
supernaut lade till detta till projektet Bitborg Roadmap 2026-07-28 16:18:14 +00:00
Upphovsperson
Ägare

Closing — the build scope of this epic is delivered and live in production.

Task Where State
Trial checkbox + trial-terms page + account badge bitborg-web#92 Closed
Default new sign-ups to a participant account (baseline) bitborg-web#93 Closed
tier_trial group + nesting + reconciler + runbook bitborg-infra#232 Closed

The one piece of scope that is not code is the operator-gated end-of-August downgrade
(tier_trial → participant). That is a dated operational act rather than a build task, so it is
now tracked on its own at bitborg-infra#270 with the runbook procedure and the "don't run it
before paid subscriptions are live" gate spelled out.

Keeping this epic open until 31 August would leave the Roadmap's Shipped column describing
delivered work as pending, so the epic closes here and the remaining action lives where it can be
picked up and verified.

Closing — the build scope of this epic is delivered and live in production. | Task | Where | State | | ------------------------------------------------------- | -------------------- | ------ | | Trial checkbox + trial-terms page + account badge | bitborg-web#92 | Closed | | Default new sign-ups to a participant account (baseline) | bitborg-web#93 | Closed | | `tier_trial` group + nesting + reconciler + runbook | bitborg-infra#232 | Closed | The one piece of scope that is not code is the **operator-gated end-of-August downgrade** (`tier_trial` → participant). That is a dated operational act rather than a build task, so it is now tracked on its own at **bitborg-infra#270** with the runbook procedure and the "don't run it before paid subscriptions are live" gate spelled out. Keeping this epic open until 31 August would leave the Roadmap's **Shipped** column describing delivered work as pending, so the epic closes here and the remaining action lives where it can be picked up and verified.
Logga in för att delta i denna konversation.
Ingen milstolpe
Inget projekt
Inga tilldelade
1 deltagare
Notiser
Förfallodatum
Förfallodatumet är ogiltigt eller utanför gränserna. Använd formatet "åååå-mm-dd".

Inget förfallodatum satt.

Beroenden

Inga beroenden satta

Referens
bitborg/bitborg-docs#51
Ingen beskrivning angiven.