Before you rely on branch isolation, run the census
An account with no branches recorded is not isolated at all. On one real tenant that was six accounts out of nine.
Run this before you rely on branch isolation
An account with no Accessible Branches recorded is not isolated at all. On one real tenant that was six accounts out of nine. So the first step is not configuration, it is a census.
python manage.py audit_branch_access It names the accounts that hold no branch. Enforcement is only as real as that list is short.
Then check the three places a branch is missing
- Warehouses. A warehouse with no branch belongs to nobody and is counted in for everybody. That is deliberate — hiding it would hide stock from the branch that holds it — but it should be a short list.
- Treasuries. Same rule. Thirteen tills across a real estate had been created through a screen that never sent the branch field, so they were filed nowhere.
- Journal entries. Historic entries predate the branch column. A single-branch view excludes them and says so, with the count and the total, and offers to include them in one click.
What a correct refusal looks like
Ask for another branch’s record by id: 404, the same answer as a record that does not exist. Not 403 — a 403 confirms the row is there, which is enough to enumerate a list one integer at a time.
And the one thing to grant
Isolation is not the same as permission. On a real tenant only one of ten non-superuser accounts held the permission to view treasuries at all, so the rest got a refusal long before scoping was reached. Grant the permission, then check the scope.
All pages
- Inno Counter — Camera and Image Policy
- Inno Source ERP — Terms of Service
- Website Terms of Use
- AI features — How they work and their limits
- Inno Counter — Terms of Use
- About Us – Inno Source Tech Solutions
- Subscription, Cancellation and Refunds
- Service Level and Support
- Inno Agent — Terms and Remote Access
- Inno Time — What It Records About an Employee
- Inno Source mobile app — Privacy Policy
- Inno Source mobile app — Terms of Use
- Inno Time — attendance for people who sit at a computer
- Inno Caller — know the customer before you answer
- Setting up Inno Counter on a line — and what to check on day one
- Setting up Egyptian e-invoicing — the three mappings and two credentials
- Before you rely on branch isolation, run the census
- Closing a van route cleanly — what blocks it and what should not
- Pairing an Inno Agent — and rescuing one you cannot reach
- Switching on Inno Time for a branch, and reading what it reports
- Pairing a handset with Inno Caller — and testing it without waiting for a call
- Inno Source Mobile Application
- Van sales app — Terms of Use
- Acceptable Use Policy
- Warranties and Limits of Liability
- Data Processing Terms
- Privacy Policy
- Website Privacy and Cookies
- Legal documents
- Inno Counter — the number on the shift sheet, measured instead of remembered
- Branches are enforced, not suggested
- The field keeps working when the signal does not
- Egyptian e-invoicing, built in — and what it will not send
- Inno Agent — reaching a scale on a shop floor from the cloud
- Inno Source — company facts
- Contact Us – Inno Source Tech Solutions
- FAQs – Inno Source Tech Solutions
- Inno ERP — one system for the whole company
- The Inno products
- Inno Counter — count production with a camera
- Inno Agent — your devices, reachable from the cloud
- Inno Time — attendance and working time from the PC
- Inno Caller — know the customer before you answer
- Inno Remote Control — every branch, from one screen
- The Inno Source mobile app
- Inno Van — selling from the vehicle
- Pricing and plans
- Start a subscription
- Blog