Teams & sharing (alpha)
Multi-user collaboration on workspaces. Roles, invites, share links.
KROWFORGE_ALPHA. Hidden by default in stable builds.Teams
A team is a group of users that can share workspaces. Create a team in Account → Teams → New team.
Each team has:
- A name and slug.
- Members with roles.
- A list of shared workspaces.
Roles
| Role | Can read | Can comment | Can run | Can apply | Admin |
|---|---|---|---|---|---|
| Viewer | ✓ | ||||
| Commenter | ✓ | ✓ | |||
| Runner | ✓ | ✓ | ✓ | ||
| Editor | ✓ | ✓ | ✓ | ✓ | |
| Owner | ✓ | ✓ | ✓ | ✓ | ✓ |
Owners can change roles and remove members. There must always be at least one Owner per team.
Inviting members
POST /api/collab/invite with email + role. The invitee gets an email with a join link.
If they don't have a KrowForge account, they're prompted to sign up. After signup, the invite is auto-accepted.
Invites expire after 7 days.
Sharing a workspace
In the workspace, Share → Share with team. Pick the team and the role each member should get for this workspace.
Permissions are workspace-scoped — being an Editor on the team doesn't make you an Editor on every workspace.
Share links
For sharing with people outside your team:
POST /api/collab/share-link creates a temporary URL with:
- Mode: read-only / commenter.
- Scope: workspace / single run / single receipt / single vault note.
- Expiry: 1 hour / 1 day / 1 week / never.
Anyone with the link gets the access — they don't need a KrowForge account. Logged-out access is read-only.
DELETE /api/collab/share-link/<id> revokes immediately.
Activity feed
GET /api/collab/activity?ws_id=… returns recent activity in a workspace:
- Who ran what.
- Who applied what.
- Who commented where.
- Who reviewed what.
Filter by event type, member, date.
Per-workspace isolation
Even with team sharing, each workspace is isolated. Secrets, settings, snapshots, and receipts don't leak between shared workspaces — only the explicit team membership grants access.