manueljpconde plugs a cross-tenant leak in mikeEU's tabular review

A logged-in user could feed someone else's document IDs into the spreadsheet-style review feature and watch the backend hand the contents to an AI model - until now.

securitymulti-tenant

The tabular review feature in mikeEU lets users line documents up against a set of questions and have an AI fill in the grid. Trouble was, the routes powering it checked whether you had access to the review itself, but never re-checked whether the documents you were pointing at were actually yours. A determined user could submit a stranger's document IDs and the backend would obediently read those files and forward the extracted text to the model.

manueljpconde added a gatekeeper that runs on every entry point - creating a review, editing one, regenerating a single cell, or kicking off the full AI run - and fails closed on anything it can't verify. Denials come back as generic not-found errors so you can't even confirm a foreign document exists. Crucially, the check on the AI-generation path also catches any bad rows that may have been written before the fix, so there's no cleanup migration to chase.

So what If your firm is evaluating mikeEU or its EU-flavoured forks for client-facing work, this is the kind of trust-boundary patch you want to see landing - and landing with tests.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?