IX / TENANT-FENCE · OPEN SOURCE

A tenant ID is not an access boundary.

A business question made testable: can one organization read another’s records?

Python · MIT21 repository testsWindows / macOS / Linux · CI ↗

01

The business question

Separating customers in the interface does not prove isolation. A route, a client-controlled header or a collection can expose another organization’s records.

02

The engineering decision

Exercise real HTTP requests against a local server with synthetic identities and records. Check forbidden access alongside legitimate access.

03

What was observed

Three vulnerable configurations fail. The scoped secure configuration passes. Denying every request does not demonstrate correct isolation: it produces INCONCLUSIVE.

04

Where the evidence ends

Read-only detail and collection routes on synthetic local targets. This is not a full audit of authorization, RLS, writes, roles or production.

60-SECOND WALKTHROUGH / TENANT-FENCE

A tenant ID is not an access boundary.

  1. Choose a scenario
  2. Inspect the recorded evidence
  3. Compare correction and lost controls

Explorer of previously executed reports, using synthetic data. Switching scenarios does not run Python, scan your system or send HTTP requests.

The full report remains available below.
Inspect original JSON evidence

Executed on 19 September 2026. A PASS applies only to that configured experiment.

WHAT THIS MEANS FOR YOUR SYSTEM

From a failure to a review plan.

If multiple organizations share your platform, isolation should be demonstrable through user journeys and contracts.

A proposed review could include

An identity and trust-boundary map, an agreed access matrix, prioritized findings and regression criteria for the team.

This is a synthetic engineering case, not a client outcome. Implementation, intrusive production tests and compliance certification are outside the standard diagnostic scope.

FROM EXPERIMENT TO DECISION

Find out which boundary to review first.

The technical and strategic diagnostic turns a scoped question into a system map, prioritized findings and an actionable roadmap. Scope and access are agreed before any work.

Prepare my diagnostic ↗
Sources and reproduction

Commit ec49721167c2b0ebad837f0b35c32050d5d593f8

Download original JSON · SHA-256

2bfe66d58bd694d78195ed46f3ef8e99980460da1f90d4e77d15ade9676e08d4
git clone https://github.com/ixequiluna-source/tenant-fence.git
cd tenant-fence
git checkout ec49721167c2b0ebad837f0b35c32050d5d593f8
python -m tenant_fence demo --out artifacts

Requires Python 3.11+. Open artifacts/report.html. All data is synthetic.