Security
Your bid prices and your margins are the business. We treat them that way.
This page describes what WorksPro does to protect your data, in plain terms, and is upfront about what we do not have yet.
Each company's data is separate
Every record belongs to one organization, and every query is scoped to it on the server. An automated test checks that one tenant can never read another's data.
Permissions enforced on the server
Owner, admin, PM, estimator, foreman, office and read-only roles. Checks run in the backend, not just in the interface, so hiding a button is never the only protection.
Costs and margins stay in the office
Unit costs, margins, labor rates and vendor pricing are removed from responses for roles that should not see them. Foremen never receive those fields.
Payroll identifiers are restricted
Certified payroll needs worker details. Only office and owner roles see the last four digits of a worker's Social Security number on certified payroll.
Vendor logins are sealed
Distributor credentials are encrypted with a data key for your organization. They are never returned to the browser, including to you.
Sign-in with MFA
Authentication is handled by Clerk. Multi-factor authentication is available to every user, with a list of active sessions and forced sign-out.
An audit log you can export
Changes to financial records such as pay estimates, change orders and budgets, permission changes, data exports and any support access to your account are logged.
Verified webhooks
Incoming events from Stripe and Clerk are checked by signature and processed once.
Backups and export
The database is backed up nightly and backups are kept for 30 days. You can export every record type to CSV yourself, on any plan.
Field drafts stay on the phone
A foreman's draft daily report is saved on the device until it is sent, so a dead zone never loses a day. Submitted reports go to the office for approval before they change any cost.
No AI training on your data
AI features are off until you turn them on. They send only the fields needed for the task to our model provider. Neither we nor the provider train models on it.
Public forms are protected
The demo request form is validated on the server and screened for bots.
What we do not have yet
No badges we have not earned.
- We do not have a SOC 2 report. WorksPro is a pilot build from a small team, and we would rather say so than imply otherwise.
- Single sign-on is part of the Enterprise plan and is set up per customer.
- WorksPro does not file certified payroll or connect to the DIR. It exports files you review and submit yourself.
Subprocessors
Who else handles your data.
These providers process data under contract so that WorksPro can run. We give notice before adding one.
The full terms are in the data processing addendum.
- Clerk
- Sign-in, organizations, sessions and MFANames, emails, credentials, session data
- Convex
- Application database, file storage and server functionsAll tenant data stored in WorksPro
- Stripe
- Subscription billing for WorksPro plansBilling contacts and subscription records. Card numbers go to Stripe directly and never reach WorksPro
- Resend
- Transactional email: alerts, digests and noticesEmail addresses, message bodies, delivery status
- Anthropic
- AI features (Claude models), when turned onOnly the fields needed for the task. Not used to train models
Report a problem
Found a vulnerability?
Write to security@workspro.agntc.io with the steps to reproduce it. Please give us a reasonable chance to fix it before you share it publicly, and do not access data that is not yours. We will reply to every report.
Bring one bid and one live job. We will show you both in WorksPro.
30 minutes, on your own bid and one live job. No slides.