PROVE · Trust Centre

YOUR BUSINESS. YOUR DATA. YOUR CONTROL.

Your customers trust you with their information. You should be able to trust the software you use to manage it.

  • Row Level Security on every application table, so the database enforces company separation
  • Company-scoped storage with private buckets and short-lived signed addresses for every file
  • Role and permission checks, plus job-assignment checks, enforced in the database
  • Email confirmation for new accounts, and password handling by the authentication service

Checked in the running app, not just written down

The controls on this page were checked against the running PROVE application on 5 November 2026, not against a written-down policy.

  • Row Level Security is enabled on every application table, and no table has an unrestricted access rule
  • Two company accounts were used to test visibility of the other company's data across 45 tables and both private storage buckets
  • Cross-company writes were attempted: an insert into the other company's customers was refused, and a delete of the other company's jobs changed no rows
  • A signed-out visitor was tested against customer, job, evidence, shared-link and form tables: nothing was returned, and some reads were refused outright
  • Storage policies were read directly: both buckets are private and require the file's folder to match the company (or, for forms, the submission the person may open)
  • Privileged database functions were read directly: all are pinned to a fixed search path, and the sensitive ones re-check who is calling before doing anything
  • Shared-document behaviour was checked against the share record: token, expiry and revocation are re-validated on every open

How it is put together

Separation you can picture

Three simple views of the same rules: your company's data apart from everyone else's, access built up in layers, and customer links that expire.

One app, separate companies

Your company

  • Customers & sites
  • Jobs & evidence
  • Quotes & invoices
  • Forms & signatures

Another company

  • Their customers
  • Their jobs
  • Their invoices
  • Their forms

Another company

  • Their customers
  • Their jobs
  • Their invoices
  • Their forms

Row Level Security

Checks the company on every read and write

Signed in as your team
Sees only your company
Other companies' rows: nothing returned

Every row in the database belongs to one company. The database itself only returns rows that match the company of the person asking — the website is never trusted to do this on its own.

Who can reach what
  1. 1. Person signs in

    Email and password, or Google

  2. 2. Role

    Owner, Manager, Supervisor, Office Admin, Operative

  3. 3. Permissions

    Role default, plus per-person grants

  4. 4. Job assignment

    Which jobs they are actually on

Allowed: assigned operative can open and complete their job
Refused: the same person opening a job they are not on

Access is built up in layers, and each layer is checked in the database. Being signed in proves who you are; it does not open every record.

Customer links, start to finish
  1. 1. You share a document

    A link is created with its own token

  2. 2. It is time-limited

    Expiry date, and you can withdraw it

  3. 3. Your customer opens it

    Token, expiry, revocation and status re-checked

  4. 4. Their decision is kept

    Stored once, cannot be edited or deleted

Expired or withdrawn link: opens nothing
Accepted, declined or signed off: permanent record

A shared link carries no account and no password. It is re-checked every time it opens, stops working the moment it expires or you withdraw it, and never shows a document in a state that may not be seen.

In detail

How PROVE protects business and customer information

Each area below describes controls that exist in the application today, with the specific checks behind them.

Company data separation

PROVE keeps every business's records apart from every other business's. Each job, customer, quote, invoice, form and photo belongs to one company, and the database only ever returns rows that match the company the signed-in person belongs to.

  • Row Level Security is switched on for every application table, so access rules are applied by the database itself rather than by the website
  • Every business table carries the company it belongs to, and the rules compare that value with the signed-in person's company on each read, insert, update and delete
  • Checked by signing in as one company and counting the other company's customers, jobs, sites, evidence, photos, invoices, quotes, forms, shared links, portal records, Xero connections and stored files: none were visible
  • Checked in both directions between two company accounts, and by attempting to write and to delete rows belonging to the other company: the insert was refused outright and the delete changed no rows

Sign-in and account security

Access to PROVE needs a signed-in account. Accounts are created with an email address and a password, and the email address has to be confirmed before the account is usable. Google sign-in is available as an alternative.

  • Passwords are handled by the authentication service and are not stored by PROVE as readable text
  • Email address confirmation is required when an account is created
  • Google sign-in is available alongside email and password
  • Sessions are held by the authentication service; a person only ever sees the data their own account is allowed to see
  • A signed-out visitor cannot read customer, job, evidence, invoice or form records: those tables return nothing to a visitor who is not signed in, and some are refused outright

Roles, permissions and access controls

Being signed in is not the same as being able to see everything. Each person has a role, and permissions decide what that person can actually do. Field staff work on the jobs they are assigned to; owners and managers can see and run the wider business.

  • Roles: Owner, Manager, Supervisor, Office Admin and Operative, each with sensible starting permissions
  • Extra permissions can be granted or removed per person without inventing a new job title for every job
  • Permission checks run in the database, so they still apply if someone calls the data API directly
  • Job-level checks decide whether a person may open, edit, assign or complete a particular job
  • Owners and managers control who joins the company and what each person can reach; invitations are limited by the plan's member allowance

Evidence and document storage

Photos, voice notes, form attachments and signatures are kept in private storage. Nothing is served from a public folder, and every file is reached through a short-lived, signed address that only the person entitled to see it can obtain.

  • Both storage buckets are private: no record is available from a public URL
  • Files are filed under the company's own folder, and the storage rules require that folder to match the signed-in person's company
  • Form files must sit under the correct company and submission, and the submission has to be one that person is allowed to open and still be able to edit
  • Signed addresses expire: about an hour for viewing evidence and form files, five minutes for images pulled into a generated PDF, and ten minutes for a shared PDF download
  • Deleting a record keeps its audit history, so a removed file cannot silently rewrite the record of what was captured

Customer document sharing and approval links

When you send a quote, variation, invoice, form or job sign-off to a customer, PROVE creates a link that carries no password and no account. The link can be limited, time-boxed and withdrawn, and the customer's decision is written down permanently.

  • Each share has its own unguessable token, an expiry date and a revoked flag
  • The link is re-checked on every open: token, expiry, revocation, company and the document's current status
  • A withdrawn or expired link stops working immediately, and the underlying document cannot be reached through it
  • Quotes, variations and invoices are only viewable through a share once they are in a state that may be shown to a customer
  • Accept, decline and sign-off decisions are stored once and cannot be edited or deleted, with the name, note, time and device recorded
  • Job sign-off links show only the evidence you choose to include, and only one sign-off can be recorded per job

Data ownership and retention

Your business records are yours. PROVE holds them so your team can work with them, and keeps them for as long as your account is open. If your trial or subscription ends, the data is retained and stays readable; what stops is new work being written.

  • Records are held for the life of the company account unless you ask us to remove them
  • When a trial or subscription ends, staff writes are blocked by a database rule while existing records are retained
  • Form drafts saved on a device are kept there until they reach the server, and successfully synced local copies are removed after 7 days
  • Unsynced work is never deleted automatically: it survives closing the app, a crash, a reload and signing in as a different person
  • Financial records are kept so you can still prove what you quoted, charged and were paid

Data deletion and account closure

Deletion is deliberate rather than casual, because job and financial history is evidence. Records that are still linked to work cannot be destroyed by accident; records with no history behind them can be removed, and whole jobs can be archived or permanently deleted by the owner.

  • Customers can be permanently removed only when nothing is linked to them: no quotes, jobs, invoices, communications or Xero links on the customer or its sites. Otherwise they are deactivated
  • There is no general delete route for customer records: removal goes through a checked function that refuses when history exists
  • Jobs can be archived (keeping everything) or permanently deleted by the owner after an inventory, warnings, typed confirmation and a final confirmation
  • Completed jobs are locked, so task and note history cannot be quietly rewritten afterwards
  • Account closure and bulk removal of a company's data is handled by emailing us; there is no self-service delete button yet

Monitoring, audit history and incident response

PROVE keeps a running record of what happened to your records and who did it. That history is the first thing we look at if something looks wrong, and it is what we can show you afterwards.

  • Evidence changes are written to an append-only audit trail with the person, action, reference and time
  • Form activity (start, save, submit, decision, attachment, signature, void) is logged against the submission
  • Customer portal activity is logged, and job events build a permanent timeline for each job
  • Job notes are append-only, with the author and time set by the database from the signed-in account, so a note cannot be posted in someone else's name
  • Customer decisions and job sign-offs are protected by database rules that block update and delete
  • If we become aware of a breach that affects your records, we will tell the affected account holders without undue delay and explain what we are doing about it

What PROVE does not have yet

We would rather tell you plainly than let you find out the hard way.

  • Two-factor authentication is not available yet. A long, unique password that is not used anywhere else is the best protection today.
  • Passwords must be at least 6 characters; we are reviewing a stronger minimum.
  • We do not hold any third-party security certification or audit certificate, and we do not claim one.
  • We do not run a 24/7 security operations centre. Monitoring is through the audit records above, platform alerts and the hosting provider's own protections.
  • There is no self-service button to delete a whole company's data or close an account: email us and we will do it with you.
  • Offline work is saved in your device's browser storage. On a shared device, sign out and clear the app's data before handing it over.

Who operates PROVE

PROVE (Prove The Job) is built and operated by Ryan Morrow at provethejob.co.uk.

PROVE does not publish a registered company number or registered office address. If you need our legal entity details for a contract, purchase order or complaint, email us and we will confirm them in writing.

Privacy and data-protection enquiries

Questions about how your records are handled, a request to access, correct or remove data, or a concern about access to your account:

Email omni-projects@hotmail.com

You can also use Cookie settings in the footer to withdraw analytics consent, or ask your company owner or manager to change a team member's access.

Website analytics cookies

Only if you accept, our public website uses Google Analytics (Google) to count page visits, trial button clicks, signup steps and company creation, along with the advert campaign that brought you. We do not send names, email addresses, phone numbers or job and customer records, and advertising features are switched off. You can reject or withdraw at any time using Cookie settings in the website footer.

Trust Centre last reviewed 5 November 2026. The controls described here are those implemented in PROVE today; they are not a certification or an independent audit.

Run the job. Keep the record.

TRY PROVE FREE FOR 14 DAYS

No credit or debit card required. No upfront payment.

Get your jobs, team, scheduling, quotes, invoices and paperwork organised in one place.