In most embedded analytics, the only thing standing between two customers' data is a WHERE workspace_id = :me that your application code has to remember on every single query.

It holds for the first dashboard and the tenth. Then one query forgets the filter, and customer A is looking at customer B's revenue inside a tile that renders without complaint.

That is not an analytics bug. It is a data-leak security bug wearing an analytics costume. The output looks like a chart, so it gets reviewed like a chart, when it should be reviewed like an auth boundary.

The story

Here is an illustrative scenario. The company is invented; the mechanism is not, and I have watched the shape of this happen more than once.