On this page
What is CrewBase?
CrewBase is a multi-tenant SaaS that gives each company a branded employee portal. Employees use it to submit vacation, overtime, expense, document, and HR requests. Managers and admins approve them. Every action is timestamped and auditable.
Each company gets its own subdomain (e.g. acme.crewbase.app), its own logo and color, and its own employees, requests, and policies. Companies are completely isolated — one tenant's data is never visible to another.
Roles & permissions
Every user has exactly one role per company. Roles are hierarchical: higher roles inherit everything lower roles can do, plus more. This section walks through who each role represents in a real company, what they can and can't do, and how to assign roles when your team is small.
Hierarchy — each role inherits everything below it
Owner
Final say. Manages billing.
Admin
Day-to-day operator. HR + system config.
Manager
Approves their team's requests.
Employee
Submits requests. Default for everyone.
The four roles in detail
Owner
Highest authority · 1+ per companyThe person (or people) ultimately accountable for the business. Owns the relationship with CrewBase as a vendor, controls billing, and has the final say on company-wide settings.
Who plays this role in your company
Tech startup (5–30 people)
The CEO or technical co-founder.
Restaurant / café
The proprietor — the person whose name is on the lease.
Marketing agency
The founder + maybe a partner. Not the account managers.
Family business
Whichever family member runs it day-to-day.
✓ Can
- Everything an Admin can do
- Configure branding (logo, color, subdomain)
- Create and launch policy campaigns
- Invite, remove, or change the role of any user including other Owners
- Access every company-wide setting
- Cancel the CrewBase subscription
✗ Can't
- Read confidential workplace concerns submitted by themselves about themselves (the case engine still respects who-can-see-what)
Quick signal
If you're the one who'd field a phone call from CrewBase support about billing, you're the Owner.
Admin
Day-to-day operator · usually 1–3 per companyThe person who actually runs HR + people operations. Configures the system, approves the tricky requests, manages employee records, runs onboarding / offboarding, sees confidential cases.
Who plays this role in your company
Tech startup
Head of People, or an Operations Manager wearing the HR hat.
Restaurant / café
The general manager. Often the same person as the Owner in a small shop.
Marketing agency
Office manager or operations lead.
Manufacturing / retail (50+ people)
HR Manager or HR Coordinator. Usually 1 per location.
✓ Can
- Approve any request (including the second step of two-step flows like expense reimbursements)
- Add, edit, deactivate employees and departments
- Configure request types, workflows, and visibility rules
- Kick off onboarding and offboarding workflows
- Read & manage confidential workplace concerns
- Export full request history to CSV
✗ Can't
- Change billing or cancel the subscription
- Edit company-wide branding without asking the Owner
- Demote the Owner
Quick signal
If you're the person employees actually email when they need vacation approved, you're the Admin.
Manager
Approves their team's requests · scales with team countAnyone with direct reports. Manages a team and approves the day-to-day requests their reports submit. Limited visibility — they only see their own team, not the rest of the company.
Who plays this role in your company
Tech startup
Engineering Manager, Design Lead, Sales Director.
Restaurant / café
Shift supervisor, kitchen manager, FOH lead.
Marketing agency
Account Director, Creative Director, Department Head.
Retail with multiple stores
Each store manager.
✓ Can
- Approve, reject, or request more info on any request submitted by their direct reports
- View their team's requests and full history
- Comment on requests for context
- Submit their own requests (which then go to their own manager / admin)
✗ Can't
- See requests outside their team
- Manage employees or departments
- Configure request types or workflows
- Read confidential workplace concerns (those go straight to Admin)
Quick signal
If their org-chart-children would email them asking for vacation today, they're a Manager in CrewBase.
Employee
Default for everyone elseEveryone with a job at the company who doesn't manage anyone. The role most of your team will have. Submits requests, signs policies, sees only their own data.
Who plays this role in your company
Any company
Individual contributors — engineers, baristas, designers, salespeople, accountants, drivers. Anyone without direct reports.
✓ Can
- Submit requests of any type their company has enabled for them
- View their own requests and history
- Acknowledge policies their company has assigned to them
- Submit confidential workplace concerns (visible only to Admin)
- Edit their own profile
✗ Can't
- See other employees' requests
- Approve any request
- View department-wide reports
- Change company settings
Quick signal
If they answer to someone else and have nobody answering to them, they're an Employee.
Permissions matrix
At-a-glance view of who can do what:
| Capability | Employee | Manager | Admin | Owner |
|---|---|---|---|---|
| Submit requests | ||||
| View own request history | ||||
| Acknowledge policies | ||||
| Submit confidential workplace concern | ||||
| Approve direct reports' requests | — | |||
| View their team's full history | — | |||
| Approve any company request | — | — | ||
| Manage employees + departments | — | — | ||
| Configure request types + workflows | — | — | ||
| Run onboarding / offboarding | — | — | ||
| Read confidential cases | — | — | ||
| Export reports to CSV | — | — | ||
| Launch policy campaigns | — | — | — | |
| Configure branding + subdomain | — | — | — | |
| Manage billing + subscription | — | — | — | |
| Promote/demote other Owners | — | — | — |
Real-world assignment patterns
How small businesses typically map their existing org to CrewBase roles:
3-person agency
Founder = Owner + does the Admin work themselves. The other two = Employees. No Managers needed.
Tip: When the team is small enough to fit in one room, you don't need approval routing — every request goes straight to the Owner.
10-person startup
1 Owner (CEO). 1 Admin (the operations or HR-doer). 1–2 Managers (engineering lead, sales lead). The rest = Employees.
Tip: If the CEO is the same person handling people-ops, they can be both Owner and the de-facto Admin — nobody else needs the Admin role.
30-person SaaS
1–2 Owners (founders). 1 Admin (Head of People). 4–6 Managers (one per team). The rest = Employees.
Tip: This is the sweet spot for CrewBase — clear hierarchy, dedicated HR person, real two-step approvals on expenses.
75-person retail / restaurant chain
1 Owner (proprietor). 1–2 Admins (HR + ops). Each location's General Manager = Manager. Hourly + salaried staff = Employees.
Tip: Per-location Managers only see their store's requests. Admins see everything across locations.
Common questions
Can a person have more than one role?
No — exactly one role per company. But roles inherit, so an Owner can do everything an Admin can, an Admin can do everything a Manager can, etc. There's no need to give someone multiple roles.
Can an Owner submit their own vacation request?
Yes. Owners are still employees of the company. Their requests route through Admin (since there's nobody above them). You can also assign the Owner an explicit manager if you want their requests to go to a specific person first.
What if my company has just 3 people?
Use Owner + Employees. Skip Admin and Manager. Every request goes straight to the Owner for approval. When you grow past ~10 people, designate someone as Admin so the Owner stops being the bottleneck.
Can I change someone's role later?
Yes. Admins and Owners can change anyone's role at any time from /admin/employees. The change is audited. Useful when someone gets promoted to manager, or when you hire a dedicated HR person who takes over from the Owner.
Does a Manager see other Managers' team requests?
No — each Manager only sees the requests of their own direct reports. To see requests across the whole company, you need Admin or Owner.
Who reads confidential workplace concerns?
Only Admins and Owners. Managers can't see them, even for their own team — that's the point of the case engine. Email subjects are sanitized so the case category never lands in Manager inboxes.
Can an external contractor be an Employee?
Yes. The Employee role doesn't imply employment status. Set their employmentType to CONTRACTOR on the employee record — they'll have the same permissions as a regular Employee, but reports can filter by employment type.
Request types
CrewBase ships with 16 built-in types: 13 standard approval-flow types (below) plus three specialized engines for onboarding, offboarding, and confidential workplace concerns. Admins can disable any of them, or restrict who can see each one (by role, department, or specific employees).
Vacation
Time off — full or half days
Overtime
Multi-session entries with auto-totaled hours
Expense
Receipt upload + amount + reason
Document
Letter / contract / certificate request
HR
Open-ended HR question with manager + admin route
Sick leave
Same-day or back-dated, with optional doctor's note
WFH
Work-from-home request, by date range
Attendance correction
Fix clock-in/out errors
Schedule change
Shift swap or schedule update
Payroll inquiry
Question about a paycheck or deduction
Update info
Change personal/contact info
Equipment / access
Hardware, software license, building access
Resignation
Triggers offboarding workflow on approval
Plus three workflow-driven types: Workplace concern (Case engine), Onboarding and Offboarding (Checklist engine). These behave differently — see The four engines.
For deeper dives into specific workflows, we have detail pages for managing leave and time off, pre-approving overtime, expense reimbursements, and a branded HR request portal that ties them together.
Approval workflows
Each request type pins a default workflow. Admins can change it per request type. CrewBase supports three patterns:
Manager-only
Submitter's direct manager approves. Default for vacation, sick, WFH.
Admin-only
Routed straight to admin. Default for HR, payroll inquiries, document requests.
Two-step
Manager approves first, then admin signs off. Default for expenses, equipment, overtime over a threshold.
The four engines
Most requests use the standard approval engine. Three other engines power specialized flows:
Approval
Submit → Pending → Approved / Rejected / More info
The default. Used by vacation, expense, overtime, and most other types. Two-step variants supported.
- Manager and/or admin sign-off
- Comments thread per request
- Attachment uploads
- Auto-emails on submit, decide, comment
Checklist (Onboarding & Offboarding)
Pending → In progress → Completed (auto)
Used for new-hire onboarding and exit offboarding. A checklist of tasks per role section (Admin / Manager / IT / Employee), each with its own permission to edit.
- 26-task default onboarding template
- 19-task default offboarding template
- Auto-closes when every task is COMPLETED or SKIPPED
- Onboarding pre-creates an Employee record in INACTIVE state
More on this: onboarding checklists for small business
Case (Workplace concerns)
Received → Under review → Resolved
Confidential HR case management. Submissions are hidden from manager team views and from non-admin viewers entirely.
- Confidential by design — admins only
- Email subjects are sanitized so allegation text never lands in inboxes
- Case-style status labels swap in (no "Pending admin" jargon)
- Submitter sees only their own case
Campaign (Policy acknowledgements)
Draft → Active → Completed (auto)
Push policies and handbooks to the right people and capture digital signatures. Separate from the request system.
- Scope-based recipients (all / roles / departments / specific people)
- Captures IP + user-agent + typed-name signature
- Auto-flips to COMPLETED when every recipient acks
- Employee inbox at /policies
More on this: policy acknowledgement software with proof
Visibility controls
Each request type has a visibility setting that controls who can submit it. Five modes:
All employees
Everyone with access to the portal can see and submit.
Specific roles
Only Managers, only Admins, etc.
Specific departments
Engineering only, Sales only, etc.
Specific employees
Hand-picked individuals (with their position visible in the picker).
Disabled
Hidden from everyone. The type still exists; nobody can submit it.
Audit trail & reports
Every submission, decision, status change, comment, and edit is logged with a timestamp and the actor's identity. Nothing is silently mutated.
- Who submitted what, and when
- Who approved or rejected, with optional notes
- Every comment, in order
- Edits to draft requests
- Onboarding task completions per role section
- Policy acknowledgement signatures (with IP + user-agent)
Admins can export the full request history to CSV from /portal/reports. The export includes all visible fields plus decision metadata.
If you're replacing an informal process — chat threads, paper forms, or a dying spreadsheet — the audit trail is the biggest single upgrade. We have writeups on moving away from WhatsApp approvals and replacing a vacation spreadsheet that walk through the migration.
Brand your portal
The portal employees see is yours, not ours. CrewBase branding doesn't appear on tenant pages. Configure under Settings → Branding:
- Logo: upload a PNG/SVG (or fall back to a colored letter mark).
- Color: any HSL value — used on the brand square, primary buttons, and accent strokes.
- Subdomain: pick a slug (e.g.
acme) which becomesacme.crewbase.app. Custom domains are available on Enterprise plans. - Login message: shown under the logo on the login page (e.g. "Welcome to the Acme team portal.").
- Support contact: a free-form line at the bottom of the login page.
Multi-tenant model
CrewBase is multi-tenant by subdomain. Each company has a unique subdomain and is fully isolated. Tenant data is scoped at the database level by companyId on every record.
- Marketing site lives at the root domain (e.g.
crewbase.app). - Tenant portals live at
{slug}.crewbase.app. - Super-admin platform lives at
admin.crewbase.app(CrewBase staff only).
Cross-tenant access is impossible — even by URL probing. Tenant-scoped queries always include companyId; capability gates fail closed.
Security & data
Authentication
- Argon2id password hashing (NIST-recommended)
- Auth.js v5 with JWT sessions
- Session cookies are HTTP-only + Secure
Tenant isolation
- All queries scoped by companyId at the database level
- Capability checks fail closed (deny by default)
- Suspended tenants are blocked at the session layer
Auditability
- Every action timestamped and attributed
- Confidential cases hidden from non-admins
- Email subjects sanitized for confidential content
Data location
- PostgreSQL hosted in the US (us-east)
- Daily automated backups with point-in-time restore
- GDPR-friendly export on request
Ready to set up your portal?
Five minutes to your branded subdomain — your team can be submitting requests today.