Vendor staff can't read your money

When a vendor employee works inside your account they get admin-level operational access with invoices, signed contract values and change-order pricing switched off.

What it is

A permission mask merged over the tenant role a staff member receives inside an account. It turns off invoice viewing, contract viewing and change-order viewing, and it is applied by writing it onto the staff member's identity metadata so the client-side permission layer honours it the same way it honours any other permission.

Also called: support can't see invoices · vendor staff money mask · hide contract values from support

See it
Vendor staff can't read your money
Prepared for
Delia Yoder
1140 Ridge Line Rd · Fair Play
Shell package$26,331
Concrete & site$7,645
Doors & windows$5,096
Trim & finish$3,398
Total
$42,470
Signature
The tenant app as a support user sees it: pipeline and projects present, Invoicing and Contracts absent from the nav. Mask defined in src/app/api/me/route.ts. Sample data — no customer information appears here.
How it works
  1. 1A staff member entering an account is given a tenant role derived from their platform role — admin for owner and admin, project manager for support, sales for sales.
  2. 2The money mask is merged into their custom permissions at the same time.
  3. 3Metadata is written only when it actually differs, so the normal path costs no extra call, and it self-heals: promoting someone reconciles on their next request.
  4. 4Estimates are deliberately not masked.
Why we built it

The constant is introduced with the quote that produced it: 'Keith 08-12: the admins don't need to be able to see the money either.' The scope is drawn carefully in the same comment: 'Platform staff run the account — contacts, pipeline, estimates, projects, scheduling, comms — but the builder's billing is not theirs to read.' And the exclusion is argued rather than assumed: 'Deliberately NOT masking estimates: staff are there to help build and send quotes, and an estimate without figures is not usable. The line is drawn at money already committed or owed.'

The problem
  • Helping inside an account meant seeing everything in it, including money already owed.
  • A flat grant of tenant admin gave vendor staff more than their job requires.
  • Masking estimates too would have made the help useless.
Sound familiar?
What you get
Support can fix your pipeline without reading your invoices.
Your signed contract values and change-order pricing stay yours.
Staff can still help you build and send a quote.

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →