TwinEthos homeAPI access

Control

Face verification used for authentication without presentation-attack detection

A face-matching step that logs a person in, unlocks an account or verifies an identity first runs presentation-attack (liveness) detection that rejects photos, screens, masks, injected video and synthetic or deepfake faces, and the verification endpoint returns a decision, not the raw match distance or similarity score.

Informational data, not legal advice. Summaries and rules have not been reviewed by a lawyer: always verify official law text for decisions. A suggested guard is intended to address each rule; adding it is not a statement of compliance to that law.

Control id cond.face-verification-without-presentation-attack-detection

Reach

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

Trust and provenance

How far the rules this guard addresses have been checked. Each rule links to its provision, with its citation, official text and its own panel.

This control
Audit-grade: meets all 3 checks of the TwinEthos audit standard that apply to it.
Lanes
TwinEthos recommendation (not law) 1
Data release
Data release 2026.10.03.4, data as of 3 Oct 2026, schema 0.3.10. This page also reflects corpus changes made after that release; they ship in the next one.
Legal review
None of the 1 rule has been reviewed by a lawyer; no TwinEthos rule has been legally reviewed yet. Treat each as research to check against the official text; it is not legal advice.
Audit standard
1 of 1 rule audit-grade. The audit standard is TwinEthos's own quality bar for provenance, dates, applicability, detectors, fixtures, remediation and licences; it is not a legal review.
Detectors
2 detectors, all experimental: written from the rule's text and not yet measured for precision on real code, so treat a hit as a lead to verify. Each provision lists its detectors' known limits.

The guard to add

Run liveness detection before any face match used to authenticate, and return only the decision.

On every login, unlock or identity-verification route that compares faces, run presentation-attack detection first and reject on failure: a liveness service (AWS Rekognition create_face_liveness_session / get_face_liveness_session_results, Azure AI Face liveness sessions) or a local anti-spoofing model (DeepFace anti_spoofing=True, a FasNet-style detector), preferably one whose performance was tested with the methods of ISO/IEC 30107-3. Then match, and return only accept or reject with a reason code: no distance, similarity or confidence value to the client, and rate-limit attempts per account.

Where it goes: 1 application source code, 6 API calls and integrations, 9 AI output handling.

What reviewers look for: a liveness or anti-spoofing call on the same path before face_recognition.compare_faces, DeepFace.verify, Rekognition compare_faces or face-api matching in a login or verification function; responses from those routes that carry a boolean decision but no distance or score.

Example (Python + DeepFace), before:

def login_with_face(user, frame):
    result = DeepFace.verify(frame, user.enrolled_face)
    return {'ok': result['verified'], 'distance': result['distance']}

After:

def login_with_face(user, frame):
    try:
        result = DeepFace.verify(frame, user.enrolled_face, anti_spoofing=True)  # raises on a spoof
    except ValueError:
        return {'ok': False, 'reason': 'liveness_failed'}
    return {'ok': bool(result['verified'])}   # the decision, not the distance

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

TwinEthos recommendation (not law) (1)

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.