TwinEthosRequest access

Control

Emotion recognition in workplace or education

AI must not infer emotions of people in workplace or education settings (outside medical/safety).

Informational data, not legal advice. Summaries are TwinEthos's own words and rules have not been reviewed by a lawyer: check the official text before relying on any of it. A guard addresses an item; adding it is not a statement that your code meets any law.

Control id cond.emotion-recognition-workplace-education

Reach

1items this one guard addresses
1jurisdictions where binding law on it is in force
0more where it is enacted, not yet applying
0standards and frameworks on the same control

Law in force in European Union (EU).

The guard to add

Remove emotion inference from workplace and education features, or confine it to a documented medical or safety purpose behind an explicit, default-off gate.

Strip emotion-inference calls (DeepFace.analyze with the emotion action, FER().detect_emotions, Hume expression measurement, Rekognition face attributes that return Emotions) from every code path serving employees, applicants, students or learners: proctoring, engagement or attention dashboards, interview analysis, meeting analytics. Where a medical or safety use is intended, isolate it in its own module behind a purpose flag that is off by default for workplace and education deployments, and record the purpose and who approved it. Do not swap the removed model for an LLM or vision prompt that infers mood from the same face or voice input.

Where it goes: 1 application source code, 3 config and feature flags, 9 AI output handling.

What reviewers look for: no DeepFace.analyze(..., actions including 'emotion'), FER(), .detect_emotions(, HumeClient expression measurement, Rekognition detect_faces(Attributes=['ALL']) or emotion_score / student_attention / employee_sentiment features on workplace or education paths; any retained emotion inference sits in a separately gated medical or safety module with its purpose recorded.

Example (Python + boto3 Rekognition (meeting analytics)), before:

resp = rekognition.detect_faces(Image={'Bytes': frame}, Attributes=['ALL'])
mood = resp['FaceDetails'][0]['Emotions']
engagement.record(employee_id, mood)

After:

resp = rekognition.detect_faces(Image={'Bytes': frame}, Attributes=['DEFAULT'])
# headcount only: no Emotions attribute requested, nothing tied to an employee
room.record_headcount(len(resp['FaceDetails']))

Engineering guidance, not legal advice. Each provision below may add its own details (a cadence, a deadline, a required notice element): open it for those.

Every rule this guard addresses

Binding law — in force (1)