Feature Flags
Overview
Feature flags are per-account toggles that enable optional capabilities. They are managed by Root from the Account page in the side navigation. Changes take effect immediately for all members of the account.
Only Root can see the Account page and toggle flags. Admin and User do not have access to this page.
Each flag is gated by plan tier. Flags unavailable on the current plan show a locked state with an upgrade prompt instead of a toggle. The server also enforces this — attempting to enable a flag above the current plan is blocked.
When a subscription is upgraded or downgraded, the system automatically adjusts all flags to match the new plan tier.
Plan requirements at a glance
| Flag | Free | Starter | Pro | Business |
|---|---|---|---|---|
| Custom Roles | — | ✓ | ✓ | ✓ |
| Approval | — | ✓ | ✓ | ✓ |
| Attachments | — | ✓ | ✓ | ✓ |
| Activity Feed | — | ✓ | ✓ | ✓ |
| Recurring Lists | — | ✓ | ✓ | ✓ |
| Templates | — | ✓ | ✓ | ✓ |
| Points System | — | — | ✓ | ✓ |
| Leaderboard | — | — | ✓ | ✓ |
| Points Store | — | — | ✓ | ✓ |
| Show Points to Users | — | — | ✓ | ✓ |
| Reporting | — | — | ✓ | ✓ |
| Teams | — | — | ✓ | ✓ |
| Activity Log | — | — | — | ✓ |
| Speech to List | — | — | — | ✓ |
| Projects & Costing | — | — | — | ✓ |
All flags
Custom Roles (custom_roles)
Enables Root to create custom roles with tailored permission sets. Requires Starter plan or above.
When on: a Roles tab appears on the Account Settings page. Root can create, edit, and delete custom roles. Each custom role is configured with a set of resource + action + scope permissions. Custom roles can be assigned to members at invite time or from the member detail page.
When off (Free plan): the Roles tab is visible but shows an upgrade prompt. System roles (Root, Admin, Team Admin, User) are always available — this flag only gates the creation and management of custom roles.
See permissions.md for the full permission model.
Points System (points_system)
Master switch for the points and rewards system. Requires Pro plan or above.
When on:
- Members earn points when they complete a task item.
- A “My Points This Week” stat card appears on the dashboard.
- The Leaderboard and Store sub-flags become available (they require this flag to be on).
When off: all points-related UI is hidden. No points are awarded or reversed. Existing point balances are preserved.
Show Leaderboard (leaderboard_enabled)
Requires: points_system on.
When on: a weekly leaderboard ranking all members by points appears on the dashboard. Members can see each other’s scores.
When off: members can still see their own points via the stat card, but the leaderboard is hidden. Use this when you want to run an internal tally without making scores visible to the team.
Points Store (store_enabled)
Requires: points_system on.
When on: the Store nav item appears for all members. Members can browse store items and redeem points for rewards. Root can manage items and approve/reject redemptions.
When off: the Store nav item and all redemption flows are hidden. Pending redemptions are preserved but cannot be actioned until the flag is turned back on.
Teams (teams_enabled)
Controls the Teams feature and changes how task and member visibility works.
Requires: Pro plan or above.
When on:
- A Teams nav item appears for all members.
- All members can view all teams and their members.
- Admin and Root can create, rename, and delete teams, and manage team membership.
- Members can belong to multiple teams simultaneously.
- Task lists can be assigned to a team; Users see only lists belonging to their teams.
- The Members page shows Users only members of teams they belong to (combined across all their teams).
When off:
- The Teams nav item is hidden.
- The whole account acts as one implicit team — all members see all other members and all lists.
Attachments (attachments_enabled)
Enables file attachments on task lists and task items. Requires Starter plan or above.
When on:
- Members can attach images and documents to task lists and individual task items.
- Images are resized and stored automatically.
- Individual file size limit: 20 MB; maximum 20 attachments per list or item.
- The Require Photo / Document sub-toggle on task items becomes available (requires
approval_enabledto also be on).
When off: the attachments section is hidden on all task lists and items. Existing attachments are preserved and will reappear if the flag is re-enabled. The Require Photo / Document toggle is also hidden from the item form regardless of the approval_enabled state.
Approval (approval_enabled)
Enables the Requires Approval and Require Photo / Document toggles on task items.
When on: Admin and Root can mark individual task items (and template items) as requiring approval. Workers must submit the item for review; an Admin or Root must approve before the item becomes COMPLETED and points are awarded. See Requires Approval for the full status flow.
When off: the approval toggles do not appear on the item form. Items that already had approval required continue to enforce the approval gate — turn this flag back on to surface the toggles and manage those items.
Available on Starter and above. Not available on the Free plan. Can only be toggled by Root.
Reporting (reporting_enabled)
Enables the Reporting page for Root and Admin. Requires Pro plan or above.
When on: a Reporting nav item appears for Root and Admin. Users can view Member Activity, List Summary, Task Completions, Points Ledger, and (when teams_enabled is on) Team Performance, Team Member Breakdown, and Unassigned Members reports — filtered by date range and exportable to CSV. Admin sees data scoped to their own team(s) when teams_enabled is on; Root always sees all data.
When off: the Reporting nav item is hidden. No data is affected.
Templates (templates_enabled)
Enables the Templates section for creating reusable task list blueprints. Requires Starter plan or above.
When on: a Templates nav item appears for Admin and Root. They can create templates with pre-defined items, and use them to instantly generate new task lists. Templates are blueprints only — they have no scheduling or recurrence of their own.
When off: the Templates nav item is hidden and the feature becomes unavailable. Existing templates are preserved and become accessible again if the plan is upgraded.
Toggle: Account Settings → Feature Flags → Templates. Root only. Locked (shows upgrade prompt) on Free plan.
Recurring Lists (recurring_lists)
Enables the Calendar view and recurring task lists. Requires Starter plan or above.
When on: a Calendar nav item appears. Admin and Root can configure a recurrence schedule (daily/weekly/monthly) on any task list via the list detail page. The system automatically spawns new lists on schedule.
When off: the Calendar nav item is hidden. No new recurring instances will be created while the flag is off. Existing task lists that were created from recurrence are preserved as regular task lists.
Activity Feed (activity_feed_enabled)
Shows the Recent Activity feed on the dashboard. Requires Starter plan or above.
When on: the Recent Activity section appears at the bottom of the dashboard, showing the last 10 actions across the account (list and item creation, completions, approvals). Events update in real time via WebSocket.
When off: the Recent Activity section is hidden from the dashboard. Events continue to be logged — they will appear if the flag is re-enabled or if the account upgrades to Business and enables the full Activity Log.
Available on Starter and above. Not available on the Free plan.
Activity Log (activity_log_enabled)
Enables the full Activity Log page for Admin and Root. Requires Business plan.
When on: an Activity Log nav item appears for Admin and Root. It shows a paginated, filterable record of every action taken across the account — task events (list and item creation, completion, deletion, approvals), member events (invites, activations, deactivations), and team events (team creation, renames, deletions, membership changes). Filters by date range, member, and action type are available. All entries can be exported to CSV.
When off: the Activity Log nav item is hidden. Events continue to be logged — they will be visible if the flag is re-enabled.
Available on Business only.
Toggle: Account Settings → Feature Flags → Business → Activity Log. Root only.
Speech to List (speech_to_list)
Enables voice-to-task-list creation. Requires Business plan.
When on: a microphone button appears on the task list page for Admin and Root. Tapping it starts recording; tapping again stops and sends the audio to the server. The recording is transcribed and converted into a structured task list by AI. A pre-filled create-list form opens for review — the member can edit the title, description, and items before saving. The list and its items are created in one step.
When off: the microphone button is hidden. Normal list creation is unaffected.
Available on Business only.
Toggle: Account Settings → Feature Flags → Business → Speech to List. Root only.
Projects & Costing (projects_enabled)
Enables job-level containers for task lists with point and cost tracking. Requires Business plan.
When on: a Projects nav item appears for Admin and Root. They can create projects, assign task lists to projects via the list create/edit modal, and view per-project point totals (estimated, earned, remaining, % complete). Root users additionally see dollar cost estimates based on a configurable $/point rate. Two new report types are available: Project Summary (Admin + Root) and Project Costing (Root only).
When off: the Projects nav item is hidden and the project picker disappears from the task list create/edit modals.
Available on Business only.
Toggle: Account Settings → Feature Flags → Business → Projects & Costing. Root only.
Flag dependencies
Some flags only have effect when a parent flag is also on:
points_system
├── leaderboard_enabled
├── store_enabled
└── show_points_to_users
approval_enabled + attachments_enabled
└── "Require Photo / Document" toggle on task items
leaderboard_enabled, store_enabled, and show_points_to_users can be toggled independently, but they do nothing unless points_system is on. The settings page reflects this — the sub-flags are disabled and greyed out when points_system is off.
The Require Photo / Document toggle on task items requires both approval_enabled and attachments_enabled to be on. If either is off, the toggle is hidden from the item form. Items that already require an attachment will not enforce that requirement if attachments_enabled is off (since file uploads are unavailable anyway).
Support notes
- All flag changes are immediate and account-wide — there is no preview or staging mode.
- Turning a flag off does not delete data. Points balances, store items, redemptions, teams, and attachments are all preserved. Re-enabling the flag restores full access to that data.
- If a member reports a feature being missing, check the relevant flag in Account → Settings first before investigating further.
- Flags above the current plan are locked in the UI and blocked at the API. If Root reports they cannot enable a flag, check their plan tier first.
- When a subscription is upgraded or downgraded (including cancellation), all flags are automatically adjusted to the new plan tier. Flags manually enabled above a plan tier will be revoked on the next billing event — they are not revoked immediately on deploy.