Permissions
Who can see and do what, by organisation role — one matrix per area of the app.
Clocktopus has three organisation roles — member, admin and owner. Every account has at least one organisation: signing up creates one you own, unless you join by invitation. Working alone means being the owner of an organisation of one, which is free, with every rate and budget available.
Two rules explain most of the tables below:
- Admin and owner are the same role almost everywhere. Every gate in the app is "owner or admin". The handful of things only an owner can do are listed at the end.
- Money is decided per organisation. Being an admin of one organisation tells you nothing about another: you see revenue, cost, rates and budgets only for the organisations you administer. Amounts are removed on the server before the data leaves, never merely hidden on screen. Hide amounts in the account menu is a privacy screen for presenting, not a permission — it can only hide what you were already allowed to see.
Project access is a separate axis. A member reaches every organisation project by default, or only the ones they were granted on a restricted project. Owners and admins always reach every project in their organisation.
Roles at a glance
| Role | What it means |
|---|---|
| Member | Logs time to the projects they can reach. Sees their own hours and agent sessions, each task's team timeline and total hours, and their team's delivery figures. Never sees money |
| Admin | Everything a member can, plus the whole team's figures, every amount, and management of members, projects, job roles, rates, budgets and billing |
| Owner | Everything an admin can. The only role that can promote or demote another owner, and the only one that keeps recording time once a subscription lapses |
Read the tables as: Own means the viewer's own data only, Team means everyone in the organisation the page is about — the one in the address, which the viewer administers — and — means not shown or not allowed.
Dashboard
| Feature | Member | Admin & owner | Notes |
|---|---|---|---|
| My work tab | Own | Own | Hours, agent runtime, delivery, breakdown by project and task |
| Team tab | — | Team | The tab does not exist for members. A shared team link falls back to My work |
| Total hours, active days, average | Own | Own / Team | |
| People | — | Team | Only meaningful on the team tab |
| Billed this period | — | Team | Sell value of the hours in the organisations you administer. Absent, not zero, for everyone else |
| Billed per day, and the budget ceiling | — | Team | The ceiling appears with exactly one budgeted project selected, on the team tab |
| Agent spend, runtime, per human hour | Own | Own / Team | A member sees what their own agent runs cost. This is the one amount members see |
| By developer | — | Team | Refused on the server outside the team tab |
| Where the hours went | Own | Own / Team | |
| Delivery card | Own | Own / Team | See Delivery — a member's My work tab shows their own pull requests |
| Project budgets card | % | Amounts | Members see the percentage and health; amounts are stripped on the server |
Reports
The Summary report's tabs are visible to everyone except Billing. What changes by role is whose data they contain: a member's own, or the whole team's when they administer the organisation the report is about — the one in the address.
| Tab | Member | Admin & owner | Notes |
|---|---|---|---|
| Projects | Own | Team | The all-time column includes people who have since left |
| Team | Own (a table of one) | Team | |
| Tasks | Own | Team | |
| AI agents | Own sessions | Team | See AI agents |
| Pull requests | Projects they can reach | Same rule | Bounded by project access, not by role — see Delivery |
| Billing | — | Team | Tab hidden; the figures are never computed for a member |
| Details | Own entries | Team | The member filter narrows within what you may see; it never widens it |
| Budgets report | % and health | Amounts | Everyone who can see a project sees where it stands; only its organisation's admins see the money |
The project filter offers every project you can see, including ones you only have history on. The member filter offers only the people whose time you may see.
Delivery
Delivery figures — commits, pull requests, cycle time, merge rate, review coverage, complexity — are a fact about the team, not about money, so they are not gated by role. They are gated by project access:
| Who | Sees |
|---|---|
| Member with access to the project | The whole team's delivery on that project, on the Work page. The dashboard's My work tab shows their own share |
| Member who once logged an hour but no longer has access | Nothing. History keeps your own hours visible; it does not keep a colleague's velocity visible |
| Admin & owner | Every project in their organisations |
On the dashboard, My work narrows this to the viewer's own pull requests and commits; Team shows everyone's. The card is absent for someone who reaches no project at all.
A task's page is part of the same picture: anyone in the organisation sees its timeline with every member's agent sessions and time entries, who reported it and who worked on it, and its total hours and agent runtime. Only admins and owners see what it cost.
AI agents
| Feature | Member | Admin & owner | Notes |
|---|---|---|---|
| Agent sessions, spend, runtime, tokens | Own | Team | Sessions with no project stay visible to the people they belong to |
| Agents and Models facets | Own | Team | Re-count under the same scope |
| Per-task attribution | Own | Team | |
| Agent ingest token | ✓ | ✓ | Per person, no role involved. Anyone can connect their own agents and revoke their own token |
Time tracking
Time is personal. Nobody edits anyone else's entries, whatever their role.
| Action | Member | Admin & owner | Notes |
|---|---|---|---|
| Log, edit, delete own entries | ✓ | ✓ | Only to projects you can write to. Entries on a project you lost access to stay read-only |
| Edit a colleague's entries | — | — | There is no admin override |
| Lock and unlock own days | ✓ | ✓ | Self-scoped, including the auto-lock preference |
| Clock in and out | ✓ | ✓ | Self-scoped |
| Record time once a subscription lapses | — | Owner only | Members and admins are blocked until the owner renews |
Settings
Organisation
| Action | Member | Admin | Owner |
|---|---|---|---|
| Create an organisation | ✓ | ✓ | ✓ |
| Rename | — | ✓ | ✓ |
| See members, plan and job roles | — | ✓ | ✓ |
| Billing portal, seats, invoices | — | ✓ | ✓ |
| Leave | ✓ | ✓ | — |
| Delete | — | — | ✓ |
Anyone can create up to ten organisations and becomes the owner of each. Owners
cannot leave, since that would orphan the organisation. Deleting one has no screen
in the app today. Renaming, on the organisation's own settings page, changes only
its name: its address (/{slug}) stays the same, so links to it keep working.
Members
| Action | Member | Admin | Owner |
|---|---|---|---|
| Invite as member or admin | — | ✓ | ✓ |
| Cancel an invitation | — | ✓ | ✓ |
| Change a member's job role | — | ✓ | ✓ |
| Switch someone between member and admin | — | ✓ | ✓ |
| Promote to owner, or change an owner | — | — | ✓ |
| Remove a member or admin | — | ✓ | ✓ |
| Remove an owner | — | — | ✓ |
The last owner can never be removed. Invitations are held to the organisation's seat count.
Job roles and rates
| Action | Member | Admin & owner |
|---|---|---|
| See job roles and their rates | — | ✓ |
| Create, rename, delete a job role | — | ✓ |
| Change or correct a rate | — | ✓ |
| Set the default job role | — | ✓ |
Members never see a rate. They do see their own job role's name on the member list.
Projects
| Action | Member | Admin & owner | Personal creator |
|---|---|---|---|
| Create a project in the organisation | — | ✓ | Personal only |
| Open a project's settings page | — | ✓ | ✓ |
| Edit name, repositories, move between organisations | — | ✓ | ✓ |
| Restrict access and grant members | — | ✓ | n/a |
| Set budget allocations, margin goals, rate overrides | — | ✓ | n/a |
| Archive and restore | — | ✓ | ✓ |
A member with a restricted-access grant can log time to the project. They still cannot open its settings.
Repositories and webhooks
| Action | Member | Admin & owner |
|---|---|---|
| Create and delete your own webhook secret | ✓ | ✓ |
| Link a repository to a project | — | ✓ |
| Assign or ignore an organisation's commit authors | — | ✓ |
Commit authors on your own webhook or install are yours to answer, whatever your role; see commit addresses.
A webhook secret belongs to a person, not a role. Whose pushes become whose entries follows project access: everyone on an open project, the granted people on a restricted one.
Account
Commit addresses, timezone and working hours, auto-lock, agent tokens, data export and account deletion are yours alone, whatever your role. They live in your avatar menu rather than under Settings, and they stay the same whichever organisation you are looking at.
CLI, MCP and agent tokens
The CLI and the MCP server act as you, with your session or your OAuth grant, and inherit your role. Nothing in them widens it.
| Surface | Member | Admin & owner |
|---|---|---|
| CLI: login, clock in/out, agent setup | ✓, self-scoped | ✓, self-scoped |
MCP list_organisations |
Your memberships and role | Same |
MCP list_projects |
Projects you can write to | Same |
MCP get_task_hours, get_project_task_hours |
Own hours | The whole team's hours |
MCP get_repository_context, get_task, get_ticket_flow |
Stages and pull requests; the team's hours, agent runtime and sessions, no amounts | The whole team's hours, sessions and agent spend |
MCP get_session_panel |
Your own sessions only, with their tasks' hours and the session's own agent spend | Same |
MCP create_task, update_task |
In projects you can log time on | Same |
| MCP goal tools | In projects you can log time on | Also each task's agent spend |
The same MCP tool therefore answers differently for an admin and a member, in the
same way the reports do. Like a report, get_task_hours covers one organisation:
the orgId you pass, else the one projectId belongs to, else your only
organisation or the one you opened last. get_project_task_hours uses the
project's own.
Owner-only
Three things, and only three:
- Promoting to owner, changing an owner's role, or removing an owner. Admins manage members and other admins; owners manage owners.
- Deleting the organisation.
- Recording time in a lapsed organisation. Once a subscription has ended, only the owner can keep logging until it is renewed.
Everything else that sounds like an owner's job — the billing portal, seat changes, invoices, inviting admins — is open to admins as well.
Start measuring what your team ships
Output, cost and what your agents burn. Read from the commits, pull requests and agent runs you already have.
Start freeFree for single developers.