In Worksong
- Approvals pause consequential actions. See Approvals.
- Secrets are used by Agents but never shown to them. See Secrets.
- Credentials you connect are never returned by the API. Browser pages do not receive server credentials.
- Spend limits per Agent and per account.
- Audit lists what Agents did and what you approved.
In Work
- Organization isolation: every row belongs to one organization, and the database refuses to return another organization’s rows, even if the application has a bug.
- Authority, gates and limits decide what a member may do. See People and permissions. A new Agent starts with no authority.
- One path for every change: sign in, permission, input check, audit, then the change. Agents, scripts and the app all use it.
- API tokens are credentials of an existing member and can never do more than that member or more than the person who issued them.
- Audit is append-only and is written before a change happens. Refused attempts are recorded too.
- Public forms write through a restricted intake member that can only touch one board and its columns, and are rate limited.
- Provider secrets (email, calendar, directory) are write-only and are never returned.
- Realtime connections use a ticket that lasts 60 seconds, not your session token.
- Conflicts are safe: if two people change the same cell, the second save is refused with a
409and nothing is overwritten.
worksong-ai/worksong:docs/adr/ADR-0005-approvals-and-autonomy-model.md@9f0684f, worksong-ai/worksong:services/work/CLAUDE.md@9f0684f, worksong-ai/worksong:services/work/src/Boardy.Authority@9f0684f. Docs version: Worksong 2.0 with Work 1.2.