<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/how-biometrics-work-on-your-phone-face-id-touch-id-and-the-secure-enclave-p45u4fyvu" -->

---
title: How biometrics work on your phone: Face ID, Touch ID,...
description: A deep dive into how biometric authentication works on mobile devices, covering the hardware and software architecture behind Face ID and Touch ID. Explains...
canonical: https://daily.dev/posts/how-biometrics-work-on-your-phone-face-id-touch-id-and-the-secure-enclave-p45u4fyvu
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: How biometrics work on your phone: Face ID, Touch ID, and the Secure Enclave | daily.dev
og:description: A deep dive into how biometric authentication works on mobile devices, covering the hardware and software architecture behind Face ID and Touch ID. Explains...
og:url: https://daily.dev/posts/how-biometrics-work-on-your-phone-face-id-touch-id-and-the-secure-enclave-p45u4fyvu
og:image: https://api.daily.dev/og/posts/P45u4FyVu.png
og:image:alt: How biometrics work on your phone: Face ID, Touch ID, and the Secure Enclave
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# How biometrics work on your phone: Face ID, Touch ID, and the Secure Enclave

**[Medium](https://daily.dev/sources/medium_js)** · 15 min read · 0 upvotes · 0 comments

## Summary

A deep dive into how biometric authentication works on mobile devices, covering the hardware and software architecture behind Face ID and Touch ID. Explains the role of the Secure Enclave as an isolated processor that stores biometric templates and private keys, how TrueDepth camera projects 30,000 infrared dots to build a 3D face model, how the Neural Engine converts sensor data into a mathematical vector, and how the Secure Enclave performs the comparison without exposing data to the OS. Also covers a critical developer mistake: using evaluatePolicy without storing secrets in the Keychain, which creates only a UI gate rather than real security.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://medium.com/@dubeyprakhar13/how-biometrics-work-on-your-phone-inside-face-id-and-the-secure-enclave-c31c882e6e4e>

## Questions this post answers

### What does my app actually receive when a user authenticates with Face ID using evaluatePolicy?

The app receives only the decrypted Keychain value, not a yes/no biometric match result. The chain is: evaluatePolicy calls the LocalAuthentication framework, which requests authentication from the Secure Enclave; on a match, the Secure Enclave releases a private key that decrypts a Keychain item, and that decrypted value is what the app gets back.

_Developers wiring up biometric gates track these implementation details on daily.dev before shipping sensitive screens._

### Why doesn't a printed photo unlock an iPhone with Face ID?

A photo has no depth, so the dot projector's 30,000 infrared dots all land at the same distance instead of shifting with facial contours, making the geometry look like a flat surface rather than a real face. Face ID also requires an attention check confirming eyes are open and looking at the screen, and infrared exposes rubber or silicone masks since they have different infrared signatures than skin.

_Anyone evaluating biometric security tradeoffs can follow deep dives like this on daily.dev._

### What is the false accept rate difference between Face ID and Touch ID?

Apple publishes a false accept rate of 1 in 1,000,000 for Face ID against a random stranger, compared to 1 in 50,000 for Touch ID. The much lower Face ID error rate is attributed to its 3D depth mapping using 30,000 infrared dots, versus Touch ID's reliance on fingerprint minutiae from a capacitive sensor.

_Developers comparing biometric options for app security can dig into specifics like this on daily.dev._

## Similar posts on daily.dev

- [Biometrics authentication for your mobile app](https://daily.dev/posts/biometrics-authentication-for-your-mobile-app-knf7upt7m) · thoughbot · 2 upvotes · 0 comments
- [I Was Curious How Android and iPhone Actually Protect Digital Credentials](https://daily.dev/posts/i-was-curious-how-android-and-iphone-actually-protect-digital-credentials-mziaygpqq) · Medium · 0 upvotes · 0 comments
- [Things I learnt about passkeys when building passkeybot](https://daily.dev/posts/things-i-learnt-about-passkeys-when-building-passkeybot-rw6rlip9s) · Hacker News · 2 upvotes · 0 comments
- [Architecting Secure and Scalable Facial Verification Systems](https://daily.dev/posts/architecting-secure-and-scalable-facial-verification-systems-hmraenfah) · InfoQ · 0 upvotes · 0 comments
- [Introducing Dashboard Touch, a build-your-own version of Touch ID](https://daily.dev/posts/introducing-dashboard-touch-a-build-your-own-version-of-touch-id-dmxdvndvs) · Anil Dash · 0 upvotes · 0 comments

---

Tags: [#authentication](https://daily.dev/tags/authentication), [#cryptography](https://daily.dev/tags/cryptography)

[View this post on daily.dev](https://daily.dev/posts/how-biometrics-work-on-your-phone-face-id-touch-id-and-the-secure-enclave-p45u4fyvu)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"How biometrics work on your phone: Face ID, Touch ID, and the Secure Enclave","url":"https://daily.dev/posts/how-biometrics-work-on-your-phone-face-id-touch-id-and-the-secure-enclave-p45u4fyvu","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/how-biometrics-work-on-your-phone-face-id-touch-id-and-the-secure-enclave-p45u4fyvu"},"datePublished":"2026-07-12T21:21:40.957Z","dateModified":"2026-09-14T09:15:06.637Z","description":"A deep dive into how biometric authentication works on mobile devices, covering the hardware and software architecture behind Face ID and Touch ID. Explains...","image":"https://media.daily.dev/image/upload/s--CxzD6vbw--/f_auto/v1722860399/public/Placeholder%2005","thumbnailUrl":"https://media.daily.dev/image/upload/s--CxzD6vbw--/f_auto/v1722860399/public/Placeholder%2005","isAccessibleForFree":true,"articleSection":"Medium","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Medium","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium","url":"https://daily.dev/sources/medium_js"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/how-biometrics-work-on-your-phone-face-id-touch-id-and-the-secure-enclave-p45u4fyvu","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"authentication,cryptography","timeRequired":"PT15M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Medium","item":"https://daily.dev/sources/medium_js"},{"@type":"ListItem","position":3,"name":"How biometrics work on your phone: Face ID, Touch ID, and the Secure Enclave"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/how-biometrics-work-on-your-phone-face-id-touch-id-and-the-secure-enclave-p45u4fyvu#faq","mainEntity":[{"@type":"Question","name":"What does my app actually receive when a user authenticates with Face ID using evaluatePolicy?","acceptedAnswer":{"@type":"Answer","text":"The app receives only the decrypted Keychain value, not a yes/no biometric match result. The chain is: evaluatePolicy calls the LocalAuthentication framework, which requests authentication from the Secure Enclave; on a match, the Secure Enclave releases a private key that decrypts a Keychain item, and that decrypted value is what the app gets back. Developers wiring up biometric gates track these implementation details on daily.dev before shipping sensitive screens."}},{"@type":"Question","name":"Why doesn't a printed photo unlock an iPhone with Face ID?","acceptedAnswer":{"@type":"Answer","text":"A photo has no depth, so the dot projector's 30,000 infrared dots all land at the same distance instead of shifting with facial contours, making the geometry look like a flat surface rather than a real face. Face ID also requires an attention check confirming eyes are open and looking at the screen, and infrared exposes rubber or silicone masks since they have different infrared signatures than skin. Anyone evaluating biometric security tradeoffs can follow deep dives like this on daily.dev."}},{"@type":"Question","name":"What is the false accept rate difference between Face ID and Touch ID?","acceptedAnswer":{"@type":"Answer","text":"Apple publishes a false accept rate of 1 in 1,000,000 for Face ID against a random stranger, compared to 1 in 50,000 for Touch ID. The much lower Face ID error rate is attributed to its 3D depth mapping using 30,000 infrared dots, versus Touch ID's reliance on fingerprint minutiae from a capacitive sensor. Developers comparing biometric options for app security can dig into specifics like this on daily.dev."}}]}
```

