What happened
On 14 May 2026, the Italian data protection authority, the Garante, issued a formal warning to Myndoor S.r.l. over its workplace stress monitoring service, a plug-in for Slack and Microsoft Teams.
The Garante said the service used semantic analysis of chat messages and an AI model to assess users’ psychological stress parameters. Employers received aggregate reports about the workforce rather than individual worker profiles.
Myndoor said the service was designed so employers could not identify individual workers. It said the plug-in’s use was optional and required an affirmative action by the user. It used a cryptographic hash of a work email address and later a randomly generated identifier, required a weekly threshold of at least ten active users, did not allow raw data downloads, and suppressed new reports and historical visualisations when numbers fell below the threshold.
The Garante found that, on the evidence before it, it was not established that employer entities had actually processed users’ personal data. It noted that an aggregate report had been provided in one case to one company, but that the company did not appear to have additional information sufficient to identify the users concerned.
The Garante’s concern was that aggregation did not necessarily remove the risk of identification. In some workplaces, it said, the size, composition and characteristics of the organisation could make it possible to work out which individual workers had used the service.
Its action was a warning about the risk of future disclosure, including through aggregated reports, which it said could likely breach the GDPR, the Italian Privacy Code and safeguards for the dignity of workers.
What an auditable version would have shown
The warning was not a finding that an employer had already managed or monitored an identified worker using a stress score. It concerned the risk that sensitive inferences could become available to employers through aggregate reports.
The Garante said the issue went beyond whether a report contained people’s names. In some workplaces, it said, it was impossible to exclude absolutely the possibility that an employer could work out which individual workers had used the service from the information in an aggregate report.
A record for every released report could show the client organisation, the people covered, the number of active users, the reporting period, the statistical output, any suppression applied and the conditions governing access. That record would provide evidence showing whether the company’s stated aggregation controls were applied when each report was released. The record itself would not decide whether a disclosure was lawful.
Where the gap was
Myndoor said it had technical measures intended to limit identification. These included a cryptographic hash and later a randomly generated identifier, a weekly threshold of at least ten active users, no raw data downloads, and suppression of new reports and historical visualisations when numbers fell below the threshold. Myndoor presented these as safeguards. The Garante nevertheless concluded that it could not rule out the risk that workers might be identified directly or indirectly in some employer settings.
The Garante did not find that Myndoor had already disclosed identifiable data to an employer. It warned that a future disclosure, including through an aggregated report, could likely violate the relevant privacy and worker dignity framework.
A ConstraintGate is designed to test an action against a standing rule before it takes effect, including whether an intended inference or disclosure has a lawful basis. An EgressGate is designed to check a planned report against the stated aggregation and anti re-identification controls before release. A ConductRecord keeps the inference process, report population, suppression applied and release decision.
The Garante did not mandate these technical measures. They are Headlights designs.
What governance should have looked like
The Garante’s analysis starts before an employer gets access to a report. Under Article 113 of the Italian Privacy Code, employers may not know information about employees’ emotional sphere, including their wellbeing or psychological stress, where that information is unrelated to employment activity.
The warning also refers to Article 5(1)(f) of the EU AI Act. That provision prohibits placing on the market, putting into service for that specific purpose, or using AI systems to infer the emotions of a natural person in the workplace, subject to the regulation’s limited medical or safety exceptions. The Garante cited this as relevant legal context. It issued the warning under Article 58(2)(a) of the GDPR and the Italian Privacy Code. The warning was not an AI Act penalty or a final infringement decision.
Where a system infers psychological stress or emotional state at work, best practice would be to establish first whether the inference and the intended employer disclosure have a lawful basis. Aggregate reporting alone does not settle that. If an organisation relies on aggregation, it should be able to show the population threshold, the suppression controls, the organisational context and the release conditions for every report.
Failure Pattern: it was reported that a system inferred an emotional state about a person at work, and the regulator could not rule out that the aggregation intended to protect them would be undone by the size and composition of the organisation they belonged to.
Governance Principle: where a system produces an inference about a person that an organisation may not be entitled to hold, the first question is whether the inference and its intended disclosure have a lawful basis, not only who is allowed to read the report.
The reference implementation of ConstraintGate, EgressGate and ConductRecord is open source. It lives at github.com/saffronandindia/headlights-oss, Apache 2.0 licensed and free to install. The repository is public now.