SendRec has always been a single-user tool. You record, you share, you see who watched. That works for solo use, but teams need shared libraries, permissions, and a way to manage who can do what.
v1.70.0 added team workspaces, and subsequent releases have expanded them with a viewer role, video transfer between scopes, and workspace-level SSO. Here's how it all works.
What you get
Shared video libraries. Create a workspace, invite your team, and everyone's recordings and uploads live in one place. Videos belong to either your personal account or a workspace — never both. Switch between them with the workspace switcher in the nav bar.
Role-based permissions. Four roles: owner, admin, member, and viewer.
| Action | Owner | Admin | Member | Viewer |
|---|---|---|---|---|
| View all workspace videos | Yes | Yes | Yes | Yes |
| Download videos | Yes | Yes | Yes | Yes |
| View analytics | Yes | Yes | Yes | Yes |
| Comment on videos | Yes | Yes | Yes | Yes |
| Create/record videos | Yes | Yes | Yes | No |
| Upload videos | Yes | Yes | Yes | No |
| Edit/delete own videos | Yes | Yes | Yes | No |
| Edit/delete others' videos | Yes | Yes | No | No |
| Manage folders and tags | Yes | Yes | Yes | No |
| Manage branding | Yes | Yes | No | No |
| Invite/remove members | Yes | Yes | No | No |
| Change member roles | Yes | No | No | No |
| Transfer videos | Yes | Yes | Yes | No |
| Delete workspace | Yes | No | No | No |
| Manage billing | Yes | No | No | No |
| Configure SSO | Yes | Yes | No | No |
Viewers are free — they don't count toward your member limit. Add stakeholders, clients, or executives who need to watch and comment without taking up a paid seat.
Video transfer. Move videos between your personal account and any workspace you belong to. Transfer preserves comments and view counts. Folder assignments and tags are cleared on transfer since they're scope-specific. Videos must be in "ready" status to transfer — processing videos are blocked.
Email invites. Invite teammates by email. They get a link, create an account (or log in if they already have one), and land in the workspace. Pending invites are visible in workspace settings and can be revoked before acceptance.
Workspace branding and billing. Each workspace can have its own logo, colors, and footer — separate from personal branding. Billing works per-workspace: upgrade the workspace to Pro or Business directly.
Workspace SSO. Business plan workspaces can configure OIDC-based SSO. Connect your identity provider, and members can log in with their corporate credentials. Optionally enforce SSO so non-SSO logins are blocked for workspace members.
Free tier limits
- 1 workspace per user (as owner)
- 3 members per workspace (viewers don't count)
- Pro and Business remove both limits
For self-hosters
Update your Docker image to latest and restart. The database migration runs automatically on startup — no manual steps. Workspaces are available immediately with no additional configuration.
docker compose pull sendrec
docker compose up -d sendrec
How we built it
The implementation touches every layer of the stack.
Database. Three core tables: organizations, organization_members, and organization_invites. Videos, folders, tags, analytics, and branding all gained an organization_id foreign key. SSO configuration lives in organization_sso_configs with AES-256-GCM encrypted client secrets.
Backend. A new internal/organization/ package handles CRUD, member management, invites, and middleware. The Middleware verifies membership and injects the user's role into the request context. RequireWriter blocks viewer-role users from all write endpoints — videos, folders, tags, and playlists. Every video handler uses a shared orgVideoFilter helper that builds the correct WHERE clause based on role.
Frontend. The workspace switcher persists your selection in localStorage. The API client reads it and sends an X-Organization-Id header on every request. Workspace settings has sections for general info, members, invites, billing, SSO, and a danger zone. The viewer role conditionally hides all write actions — record, upload, edit, delete, pin, trim, organize — while keeping read actions visible.
Tests. 724 frontend unit tests, 874+ backend tests across 18 packages, and 18 Playwright E2E tests covering workspace CRUD, viewer restrictions, and video transfer.
API
All workspace endpoints are documented in the API reference under the Organizations tag. Key endpoints:
-
POST /api/organizations— create a workspace -
POST /api/organizations/{orgId}/invites— invite a member -
POST /api/invites/accept— accept an invitation -
PATCH /api/organizations/{orgId}/members/{userId}— change a member's role -
POST /api/videos/{id}/transfer— move a video between scopes
Set the X-Organization-Id header on any request to scope it to a workspace.
SendRec is open source and self-hostable. Try it at app.sendrec.eu or run it on your own infrastructure with Docker Compose.
Top comments (0)