Entitlements
🤖 This is a generated document — do not edit. Built by
tools/wiki/generate-entitlements-page.tsfrom executing the real@stretched/typesacl/entitlements policy (can()per tier × permission). Refresh withbun run wiki:buildand commit; staleness fails the wiki gates in CI and pre-push. About this section: Generated Docs.
See also: Pricing and Subscriptions, Auth and Users, Firestore and Security Rules
The tier ladder and what each rung unlocks — executed from the real policy
(libs/stretched-types/src/acl + entitlements): every ✅ below is the
result of calling the same can() all surfaces call, so this page cannot
disagree with the app. Claims are the facts (minted by the Functions), this
policy interprets them, and firestore.rules mirrors it (drift-gated by the
lib's specs).
The ladder​
What each rung unlocks​
- Hours:
insights.spendable,news.analysis,stories.deep,voting.access,worth-it.access - Days:
compare.access,expenses.import,imagine.access,optimize.access,quality-of-life.access - Months:
feedback.feature-request,investments.access,opportunities.access,projections.access,remaining-days.access - Decades (secret):
adviser.access - Generations (secret):
gathering.access,legacy.access - Role-only (never by tier):
partners.review,stories.manage
Permission matrix​
Content permissions are tier-only (an admin previewing a plan sees exactly what a member sees); function permissions may carry roles.
| Permission | Minutes | Hours | Days | Months | Decades | Generations | Roles |
|---|---|---|---|---|---|---|---|
insights.spendable | — | ✅ | ✅ | ✅ | ✅ | ✅ | — |
news.analysis | — | ✅ | ✅ | ✅ | ✅ | ✅ | — |
stories.deep | — | ✅ | ✅ | ✅ | ✅ | ✅ | — |
voting.access | — | ✅ | ✅ | ✅ | ✅ | ✅ | — |
worth-it.access | — | ✅ | ✅ | ✅ | ✅ | ✅ | — |
compare.access | — | — | ✅ | ✅ | ✅ | ✅ | — |
expenses.import | — | — | ✅ | ✅ | ✅ | ✅ | — |
imagine.access | — | — | ✅ | ✅ | ✅ | ✅ | — |
optimize.access | — | — | ✅ | ✅ | ✅ | ✅ | — |
quality-of-life.access | — | — | ✅ | ✅ | ✅ | ✅ | — |
feedback.feature-request | — | — | — | ✅ | ✅ | ✅ | admin |
investments.access | — | — | — | ✅ | ✅ | ✅ | — |
opportunities.access | — | — | — | ✅ | ✅ | ✅ | — |
projections.access | — | — | — | ✅ | ✅ | ✅ | — |
remaining-days.access | — | — | — | ✅ | ✅ | ✅ | — |
adviser.access | — | — | — | — | ✅ | ✅ | — |
gathering.access | — | — | — | — | — | ✅ | — |
legacy.access | — | — | — | — | — | ✅ | — |
partners.review | — | — | — | — | — | — | admin |
stories.manage | — | — | — | — | — | — | admin |
Per-tier limits​
| Tier | Layaway items (max) |
|---|---|
| Minutes | 10 |
| Hours | 200 |
| Days | 200 |
| Months | 200 |
| Decades | 200 |
| Generations | 200 |