Binding law — in force
Facial recognition in job interviews requires a signed applicant waiver (Maryland)
Under Maryland Labor & Employment 3-717 (HB 1202), an employer may not use a facial recognition service to create a facial template during an applicant's employment interview unless the applicant consents by signing a waiver stating the applicant's name, the interview date, consent to facial recognition during the interview, and whether the applicant read the waiver. Detect an interview-analysis path that extracts a facial template with no signed-consent-waiver capture.
Who it applies to
- Duty falls on: employer
- Systems covered: automated decision
- Sectors: employment
- Employers using facial recognition services to create facial templates during employment interviews in Maryland. Effective 2020-10-01. Requires a signed consent waiver with specified contents.
The guard to add
Record the applicant's notice, explanation, and consent (or signed waiver) before any AI or facial analysis runs on an interview video, and skip analysis for non-consenting applicants.
A consent gate between the stored interview video and every analysis call (transcription plus LLM scoring, DeepFace.analyze, face_recognition.face_encodings, a vendor face or emotion API). Before the interview the applicant is told that AI will analyze the recording, how it works, and what general characteristics it evaluates; their consent or signed waiver is stored with a timestamp and the version of the explanation shown. The analysis worker reads that record and refuses to run without it; applicants who do not consent are routed to a non-AI, human-reviewed path instead of being scored.
Where it goes: 1 application source code, 2 data models, 9 AI output handling, 14 user-facing text.
What this provision adds:
- The signed waiver states the applicant's name, the interview date, the applicant's consent to facial recognition during the interview, and whether the applicant read the waiver.
Example (FastAPI + OpenAI SDK (Whisper)), before:
@app.post('/interviews/{app_id}/video')
async def upload(app_id: str, file: UploadFile):
path = store_video(app_id, file)
transcript = client.audio.transcriptions.create(model='whisper-1', file=open(path, 'rb'))
return score_interview(app_id, transcript.text)After:
@app.post('/interviews/{app_id}/video')
async def upload(app_id: str, file: UploadFile):
applicant = db.applicants.get(app_id)
path = store_video(app_id, file)
if not applicant.ai_video_consent or applicant.consent_recorded_at is None:
human_review_queue.add(app_id, path) # no AI evaluation without consent
return {'status': 'received'}
transcript = client.audio.transcriptions.create(model='whisper-1', file=open(path, 'rb'))
return score_interview(app_id, transcript.text)Control: AI analysis of a video interview without notice, explanation, and consent. The same guard addresses 2 items with binding law in 2 jurisdictions. Engineering guidance, not legal advice.
Rule id md-hb1202.facial-recognition-interview-consent · review status: primary source derived