How we protect your payroll data
Payroll holds some of the most sensitive information a business has. Here's how WageHarbor looks after it.
Every company's data is kept separate
Each company on WageHarbor has its own private space. Every request is limited to the signed-in person's company at the data layer, and changes to another company's records are refused. People at one company can never see another company's employees, pay or settings.
Sensitive numbers are encrypted
- Social Security numbers and bank account numbers are encrypted at rest and shown masked (for example ***-**-4354 or ••••1712).
- Viewing a full Social Security number is recorded in the audit log.
- Passwords are never stored. Only a salted, one-way hash is kept, using ASP.NET Core Identity.
The right people see the right things
- Roles (Admin, HR, Payroll, Manager and Employee) decide who can see and change what.
- Employees only ever see their own pay, time and details.
- Admins can reset passwords and disable sign-in immediately when someone leaves.
Strong sign-in
- Two-step sign-in with an authenticator app, plus recovery codes.
- Passkeys for password-free sign-in on supported devices.
- Sessions are re-checked every 30 minutes, so someone whose sign-in is disabled is signed out of any open session within that time.
A record of every change
The audit log records who changed company settings, employee records, pay setup, payroll runs and tax tables, and when, so mistakes and misuse can be traced.
Your part
- Turn on two-step sign-in for everyone with the Admin or Payroll role.
- Give each person the smallest role they need.
- Share temporary passwords privately, never in group chats or email threads.
- Disable sign-in for people who leave, on their last day.
Report a security concern
If you think you've found a security problem, please email contact@wageharbor.com with the details. We take every report seriously.