New · Workflow templates and Knowledge base

HR that moves as fast as your team.

People, time off, documents, assets, workflows — one secure workspace with role-based access and tenant isolation enforced at the database.

No credit card 5 role tiers built-in RLS by default
pulsehr.app/dashboard
Today
You're clocked in Active
02:14:00
Open tasks
7
Acknowledge
2
Assets
3
This week
38h 24m
M
T
W
T
F
S
S
Trusted by people teams everywhere
NORTHWIND
ACME CO.
GLOBEX
INITECH
UMBRELLA
STARK IND.
Everything you need

One platform, every HR workflow.

Replace a stack of disconnected tools with a single source of truth for your people operations.

Employee directory

Searchable profiles, custom fields, org chart.

Time tracking

Clock in/out, schedules, and exception handling.

PTO & leave

Requests, approvals, balances, and team calendar.

Documents

Versioning, acknowledgments, and expiration tracking.

Asset tracking

Assign laptops, badges, and equipment to people.

Knowledge base

Searchable articles, scoped by role.

Internal requests

Threaded tickets to HR, IT, and Payroll with SLAs.

RBAC & RLS

Multi-tenant isolation enforced at the database.

Five role tiers

Granular access, by design.

Click a role to see exactly what it can do. Permissions are enforced at the database with row-level security — never just hidden in the UI.

Admin

Run your company workspace end-to-end with full settings access.

  • Company settings
  • Roles & billing
  • All employees
  • Workflow templates
Security first

Tenant isolation enforced where it matters — the database.

Row Level Security policies use a has_role() security-definer function so admins manage their own company without ever seeing another tenant's data. Roles live in a dedicated table — never on profiles — so they can't be self-escalated.

  • RLS on every table with company_id
  • Roles in a separate user_roles table (no privilege escalation)
  • Security definer helpers prevent recursion
  • Auto-created profile on signup via auth trigger
policies.sql
CREATE POLICY "Members view profiles in their company"
  ON public.profiles FOR SELECT
  USING (
    company_id IS NOT NULL
    AND company_id = public.current_company_id()
  );

CREATE POLICY "Admins manage roles in their company"
  ON public.user_roles FOR ALL
  USING (
    company_id = public.current_company_id()
    AND public.has_role(auth.uid(), 'admin')
  );
0
Role tiers, fully isolated
0%
RLS coverage on tenant data
0+
HR workflows in one place
0s
Average workspace setup

Give your team a real HR home.

Spin up a workspace in under a minute. Invite your team, set roles, and you're live.