Skip to content

Emotion recognition or biometric categorisation

Gaphigh severity · reads .ts .tsx .js .jsx .mjs .cjs .pyBeta

Some uses are banned outright since February 2025. Others are high-risk. This needs a human decision, not a code fix. When Lintsure finds this, it marks it as a Gap: the code itself shows the problem.

What it looks like

A line Lintsure flags in its own test app:

// src/ai.ts
const mood = DeepFace.analyze(frame, { actions: ["emotion"] });

How to fix it

Check whether this use is banned or high-risk before shipping. Remove it if it infers emotions of staff or students.

Through a coding agent, Lintsure suggests the change and waits. Nothing is edited until you approve it.

Controls it relates to

  • EU AI ActArt. 5(1)(f)Prohibited: emotion recognition at work and in education
  • EU AI ActAnnex III(1)High-risk: biometrics
  • GDPRArt. 9Special categories of personal data

What the framework asks

EU AI Act Art. 5: Banned practices

Some uses are not allowed at all, for example manipulating people in harmful ways, social scoring, reading emotions at work or school, and (from December 2026) making intimate images of real people without consent.

Evidence a reviewer may ask for: A written check that none of your features fall into a banned use.

GDPR Art. 9: Sensitive data

Health, biometric, ethnic, religious, political, sexual and union data is off-limits unless a specific exception applies.

Evidence a reviewer may ask for: The exception you rely on.

Summaries are our own reading of the public texts, not the official wording.

Read more: The EU AI Act for developers

Check your code for this

Runs on your machine. Your code is never uploaded.

npx lintsure scan

Quickstart · Use it in Claude Code or Cursor

This rule is in Beta: its mapping to framework controls is waiting for review by a qualified compliance professional. Lintsure is a readiness tool, not an audit or legal advice. A finding, or the lack of one, doesn't make you compliant. Disclaimer

Related rules