How your data is kept

Plain answers to the questions owners and their clients' IT departments ask. Everything here describes how the app is built today; the privacy policy is the formal version.

Each company is separate

Every record in the database carries the company it belongs to, and the database itself enforces that boundary with row-level security policies. The separation is not a filter in the app that could be forgotten; it is a rule the database applies to every query.

People see what their role needs

Owners and managers see the company. Shift managers see their jobs. Workers see their own shifts and checklists. Clients see only their own sites, only visits a manager has approved, and only from the date they were given access. Managers can preview exactly what a client sees before they see it.

Location, only while clocked in

Location is checked at clock-in to confirm the worker is at the site, and kept while they are clocked in so a clock-out away from the site can be seen. It stops at clock-out and is not collected off shift. The worker is told this in the app before anything is collected, and chooses the permission on their own phone.

Photos are private until approved

Job photos are stored in private buckets, not on a public URL. Access follows the same role rules as everything else. A client sees a photo only after a manager approves the visit it belongs to.

Changes are recorded

Every change to a timesheet is kept in an audit log with who made it. A job a manager closed for a crew is marked as a manager's close, with the reason, and the worker's own ticks are kept alongside it.

Signing in

New accounts verify their email before they can use the app. Any user can turn on two-factor sign-in with an authenticator app. Client logins work by email with a short code, so corporate link scanners don't lock them out. Passwords are handled by the authentication service and never stored in a readable form.

Services the app relies on

The app runs on a small number of well-known services. Some are only used if your company turns the feature on.

Supabase
Database, authentication and file storage. All traffic is over HTTPS.
Apple and Google
App distribution and push notifications on iPhone and Android.
Google Maps and Mapbox
Turning a site's address into a map position for the geofence.
Resend
Sending email: logins, notifications and client reports.
Paychex
Only if you connect it: sending approved hours for a pay period.
Google Calendar
Only if you connect it: putting jobs on a calendar you already use.

Your data, your call

Workers and clients can delete their own account from inside the app, or from the account deletion page without signing in. A company that leaves can ask for its data to be removed.

Found a problem?

If you believe you've found a security issue, email adamkolis@betterflow.ai with what you saw. You'll get a human reply, and we'll tell you what we did about it.

Questions your IT team would ask?

Bring them to the demo. The people who built the app answer them directly.