FitMyFace.
Glasses and haircuts that fit your face · 找到适合你脸型的眼镜和发型
Privacy — Free Beta
Updated November 6, 2026. FitMyFace is a free, experimental tool that suggests eyeglass frames and hairstyles for your face.
Glasses finder: your measurements stay on your device
When you use the camera or choose a photo, the picture is analysed by Google's MediaPipe face model, which runs inside your own browser. The face measurements (face width, estimated pupillary distance and face shape) are computed on your device and are not sent to us. If you type your own eye distance (PD), it is used on the page only: it is not stored or sent. If you choose "Measure with a card", the photo with the card is measured inside your browser in the same way, never uploaded or stored, and let go once the card's edges are set. "Copy my numbers" copies them to your own clipboard. The face-scanner program files are downloaded from cdn.jsdelivr.net, which receives standard request information such as your IP address, and from this website. The page font (Archivo) comes from this website itself, not from Google Fonts.
Haircut try-on: drawn on your device
The drag-and-try haircuts are drawn on your photo inside your browser. To paint them in your own hair color ("Your color"), Google's MediaPipe hair model finds the hair in your photo, also inside your browser; its program file comes from storage.googleapis.com. The color is not stored, and it is sent only with an AI preview (below).
Photo-real AI previews: on unless you switch them off
In short: For haircuts, a 500 px square of your photo, face included, goes to our AI (Cloudflare) and is deleted right after. Never stored. 18+.
When you have agreed on the scan screen and have not switched "Photo-real results (AI)" off, a shrunk square of your photo (500 × 500 pixels) is sent for each hairstyle or pair of glasses you stop on, and for the next one in the list so it is ready when you get there, with the style or frame you chose and the hair color (a swatch you picked, or the color code of "Your color" measured from that same photo). It is sent to Cloudflare Workers AI, which runs the FLUX.2 [klein] model by Black Forest Labs. The result comes back to your browser. The same square, with the same agreement, is also sent once when you tap "Remove them first" to take your current glasses out of the photo (one free try; your phone keeps the original photo if the result changes your eyes or brows). In Live the AI uses that same photo from your scan, never camera frames, and your phone cuts the hair out of the AI picture to wear on the camera. Your agreement is remembered on this device. To stop sending photos, untick "Photo-real results (AI)" on the results, or tick "Instant try-on only (no AI generation)", which turns the AI off the same way. Your first photo may already have gone by then, because the agreement on the scan screen covers it. It stays off on this device until you turn the switch back on, and anything on its way is stopped. We do not save the photo or the result. Cloudflare may process information under its own privacy policy.
Using a haircut photo. If you tap "Use a haircut photo" and choose a picture of a haircut you like, your phone first checks that it shows exactly one face, cuts it down to a square around the head (496 × 496 pixels) and fills the face in it, from the brows to the chin, with flat grey; where it can, it also greys out the background and clothes. Only then is that hair-only picture sent, together with the same shrunk square of your own photo and the hair color described above, to Cloudflare Workers AI, used once to make the preview, and not stored by us. The picture you chose never leaves your phone in any other form, and your phone lets go of it once the square is made. Use only photos you have the right to use. The same agreement, "Photo-real results (AI)" switch and "Instant try-on only" tick apply: with the AI off, the button does nothing.
Side and back views. After a hair result on your own photo you may tap "See it from the side and back" and add up to 2 more photos, a side profile (left or right) and the back of your head: each is cut on your phone to a 500 × 500 pixel square and sent to Cloudflare Workers AI exactly like your front photo, with the same style and hair colour and the side or back settings of the haircut card, used once to make that view, deleted right after and never stored by us. Each uses one free try. The same agreement, "Photo-real results (AI)" switch, 18+ rule and Illinois block apply; it is not offered on the sample faces. The pictures stay in the open page only, and go on the barber card only if you tick it. In Studio (for stylists) the same applies to a left side, a right side and a back photo of the client: each stays only in the open page until that view is tapped on an option, is then sent once in the same way (one free try for each view made) and is gone when Studio closes; it is not offered on the sample faces. Detail photos added in Studio (close-ups such as the crown or the neckline) are never sent to the AI or to us: they stay in the open page on that device and appear only on a card picture or printed page made there.
Biometric data policy
What. The face scan measures face geometry (face width, eye spacing, face proportions) to suggest frames and haircuts. Each hairstyle AI preview uses one photo of your face; a "Use a haircut photo" preview also sends a second picture, the hair part of the photo you chose, with its face greyed out on your phone first. A side or back view sends only that side or back photo of your head, cut to the same 500 px square.
Consent. Before any scan of your face, you tap "I agree — open camera" or "I agree — use a photo instead", right under a notice that explains the scan. Since 1 November 2026 that same notice also says your photo is sent to our AI provider (Cloudflare) for photo-real previews and deleted right after, so the one tap covers both; a switch on the results turns the AI off. The sample faces need no consent: they are AI-made people, not you.
Retention. Scan measurements are never stored by us: they exist only on your device while the page is open and are erased when you close it. Hairstyle preview photos are deleted as soon as the AI returns the result; we keep no copy.
No sale. We never sell, lease, trade or share face data, and never use it to identify anyone or to train AI models. Security: all traffic uses HTTPS; nothing is written to our database except the anonymous counts described below and the random daily key used to make them, and a barber card correction or a note on a result if you choose to send one.
Daily free-try limit and anonymous counts
Daily limit. To share the free AI previews fairly, we turn your network address into a code using a one-way hash of the address, a secret key and a random key made fresh each day (UTC), and store that code with a counter at Cloudflare for that day and the next; the first visit after that deletes it. We never store the IP address itself. Each day's random key is deleted the same way, on the first visit on or after the day after next. Cloudflare's database keeps a 7-day restore history, so for 7 days after that someone in control of our Cloudflare account could still recover the key; from then on, nobody, including us, can turn that day's codes back into network addresses.
Hair type. If you choose your hair type (straight, wavy, curly or coily) on the haircut screen, it is kept only in this browser and sent with that haircut's AI previews (including side and back views) so the picture keeps your texture. For blunt bangs with curly or coily hair, our own example picture of the cut (not a real person) is sent with it. It is your own answer, never measured from your photo, and it is not stored on our servers.
Anonymous counts. To learn whether the app is useful, we record that the same daily code did things like visit, scan a face, tap a frame through to a retailer, make a hairstyle preview (a side or back view is counted under the fixed name hair_sideback, with nothing else about it), remove your current glasses from the photo, make, adjust, save, print or send a correction on a barber card, open a barber card from its shared link or QR code, send a note on a result, switch the page to Chinese, Spanish or Korean, switch on the 3D (beta) glasses in Live (counted under the fixed name live3d_on; the 3D runs on your phone and nothing more leaves it), or tap a 1 to 5 usefulness rating (only the number, and whether it was for glasses, for glasses with 3D (beta) on, or for hair; a rating on a sample face is not counted), or how far the photo step got (the photo step was shown, Try it on my photo was tapped on the hair sample, the camera was opened or a photo was chosen, the camera was refused or failed, and the first result was shown, on a sample face or on your own photo, with how long after the site opened in one of four bands: under 5, 5 to 10, 10 to 20, or over 20 seconds), or that the page hit an error and which part failed (a fixed name such as the face scan, the camera, the AI picture, the 3D glasses or the barber card; the technical details go only in the error reports described below), together with the short source tag of the link you arrived from (for example a printed QR card, or a link someone shared from the app). When a link on one of our guide or haircut pages passes you on to the app, we also count the short tag of that page (counted under the fixed name via), once per day like the other records. Each code is counted at most once per action per day. These records contain no photos, names, typed text, IP addresses or cookies. Each day has its own code, so they cannot be linked across days, except by someone in control of our Cloudflare account, and only until that day's random key is gone as described above. We keep them for 120 days after the day they were made, and the first visit after that deletes them (Cloudflare's 7-day restore history applies here too). One exception: records made before we added the random daily key used only the secret key and the date, so whoever holds the secret key (including someone in control of our Cloudflare account) can still turn them back into network addresses and link them across days until they are deleted on the same schedule.
Error reports. When something breaks, the site sends a technical error report so we can fix it: the error message and the code location it came from (file, line and the steps that led there), the app version, your browser type and major version and your operating system type (for example "Safari 17, iOS"; never the full browser string), and the page path. Links in it are cleaned of personal parts first, on your phone and again on our server: query strings and the part after #, e-mail addresses, long numbers, photo data and anything that looks like a key or token are removed. A report contains no photo, no name, nothing you typed and no identifier: no IP address, daily code or cookie is stored with it. The same error is stored once per day with a count. At most 5 reports are sent per page visit. Reports are deleted 30 days after the day they were made.
Barber card corrections. If you pick Barber, Stylist or Customer under the card ("Is this right? Tell us what you'd change") and then tap "Send my suggestion", we store the haircut settings on the card (including the card's own short note line, if it was filled in), the role you picked (barber, stylist or customer), your optional note (up to 280 characters) and the date. No photo, IP address or daily code is stored with it; the daily code only counts corrections (at most 5 a day) the same way as the free-try limit. Like the counts, corrections are kept for 120 days after the day they were sent, and the first visit after that deletes them. Please don't put names, phone numbers or emails in the note.
Notes on a result. Under each glasses or hair result there is a message box ("Anything we should fix or add?"). Nothing is sent until you tap Send. Then we store your note (up to 280 characters), the date, glasses or hair, the catalogue code of the frame or hairstyle on screen, whether it was your own photo or a sample face, and your 1 to 5 rating if you tapped one. No photo, IP address, daily code or any other way to tell who sent it is stored with it; the daily code only counts notes (at most 5 a day) the same way as the free-try limit. Notes are kept for 120 days after the day they were sent, and the first visit after that deletes them. Please don't put names, phone numbers or emails in a note. Fixes we make from notes are listed, without names, on You asked, we fixed.
Stored only in your browser
Your language choice, whether you want to see women's or men's haircuts, the fact that you agreed to the scan notice, whether you switched the photo-real AI off, and whether you have already seen the one-time iPhone "Add to Home Screen" tip, are remembered only in your own browser (localStorage). Once switched off, the AI stays off on this device until you switch it back on. If you tap "Save this cut" on a barber card, that card's link code (the haircut settings its link already carries), the style's name, the date and your optional label (up to 40 characters) are kept in this browser's localStorage under "My cuts", at most 20, never with a photo, and never sent anywhere; delete them in My cuts, or by clearing your browser data. A barber's client notes ("Save for a client": a nickname, the card's haircut settings and the date) stay only on the device that saved them, in its localStorage, and are never sent to us; an exported client file goes only where the barber puts it. A barber's free-text notes on a visit and any before/after client photos saved in the barber list also stay only on that device (photos in its IndexedDB, notes in localStorage): they are never uploaded and never sent to the AI, can be deleted per visit or with "Delete all", and a photo goes into an exported file only if the barber ticks "Include photos in the file". Other filters, face measurements and any PD you type are not stored: they are gone when you close the page. Your "Mirror" or "As others see you" choice is kept for the visit only, in this tab's sessionStorage, and goes when you close the tab. Your phone also keeps a copy of the app's own files so the site opens quickly and works offline, whether or not you add it to your home screen; this copy holds no personal information. If you choose your prescription numbers (SPH, CYL) on the glasses screen to estimate lens thickness, the optional prescription numbers stay on your phone, in this browser's localStorage, and are never sent or counted; tap Forget to delete them. An optical shop's frame list loaded in shop mode stays on that shop's device (its localStorage), is never sent to us, and holds no client data.
Barber station. On a barber's tablet opened at the station address, "Scan client's card" uses that tablet's camera only to read the QR code on a barber card: the camera frames are read on the tablet itself (by the browser, or by the jsQR program served from this site), are never stored or sent anywhere, and the camera stops as soon as a card is read, when the barber taps Stop, or when the page is hidden.
Sharing
When you tap Share, your device's own share menu sends the picture you chose to the app or person you pick; we do not receive it. Shared pictures and links show the site's address, fitmyface.app. A barber card's link and QR code hold only the haircut settings on the card (lengths, guard numbers, fade and so on, and its short note if you wrote one), never a photo; they sit after the # in the address, so opening the link sends them to no server. A link shared from the glasses results also names the frames in the picture by their public catalog code, so the person you send it to can try the same frames on their own face. The link holds no photo, no measurements and no name, but the frames in it can hint at your rough frame size, price range or style. A link shared from the hair results also names the haircuts in it by their public catalog name (at most four), so the person you send it to can try the same cuts. The link holds no photo, measurements, colour or name, but the cuts in it can hint at your style choices.
Retailer links and prices
Links to frames go to the retailer's own website, which has its own privacy policy. Prices are as checked on the date shown and may change; the retailer sets the final price and availability.
Who can use it
You must be 18 or older. FitMyFace is not offered in Illinois. Upload only photos of yourself, or of an adult who agreed. Do not upload photos of children, or photos of other people without their permission. The sample faces in the app are AI-generated photos of people who do not exist.
Not medical advice
The pupillary distance (PD) shown is an estimate from a photo. For prescription glasses, use the PD from your optician or eye doctor.
Store widget. A store may show FitMyFace inside its own web page (the page at /embed). It is the same app with the same notice, the same agreement before any AI photo is sent, the same 18+ rule and the same Illinois block. The store gets no photo, measurement or result from us; its short code is counted only as the link's source mark, like any other link code. A store frame list opened with a shop code is a public file read from this site. Your per-eye pupil distance (shown as R / L) is worked out on your device like the rest of the measurements and is never sent or put in a link.
中文摘要
简而言之:试发型时,你照片的一个 500 像素方图(包括脸部)会发送给我们的 AI(Cloudflare),用完立即删除,从不保存。须年满 18 岁。
侧面和后面:用你自己的照片得到发型结果后,你可以点“看侧面和后面”,再添加最多 2 张照片(一张头部侧面照,左侧或右侧,以及一张后脑照):每张先在你的手机上裁成 500 × 500 像素方图,像正面照一样连同同一发型、发色以及发型卡片的侧面或后面设置发送给 Cloudflare Workers AI,只用一次生成该角度,用完立即删除,我们从不保存;每张用掉一次免费次数,只按固定名称 hair_sideback 计数,不记录其他信息。同样的同意、“逼真效果(AI)”开关、18 岁以上规定和伊利诺伊州限制都适用;示例脸不提供此功能。图片只留在打开的页面里,只有你勾选时才会放到理发卡片上。在工作室(发型师用)里,客人的左侧、右侧和后脑照片也一样:每张只留在打开的页面里,直到在某个方案上点那个角度,那时才用同样的方式发送一次(每生成一个角度用掉一次免费次数),工作室关闭时就消失;示例脸不提供此功能。在工作室里添加的细节照片(例如头顶旋或后颈线的特写)从不发送给 AI 或我们:它们只留在那台设备上打开的页面里,只会出现在那里做的卡片图片或打印页上。
生物特征数据政策:扫描脸部前,你要点击扫描说明下方的“同意并打开相机”或“同意,改用照片”按钮;自 2026 年 11 月 1 日起,同一份说明也写明你的照片会发送给我们的 AI 服务商(Cloudflare)用于生成逼真预览,并在生成后立即删除,所以这一次点击同时涵盖两者;使用发型照片时还会发送第二张图片:你所选照片的头发部分,脸已先在你的手机上被灰色遮住;结果页有一个开关可以关闭 AI;示例人脸是 AI 生成的虚构人物,不需要同意;扫描数据只存在于你的设备上,关闭页面即清除;预览照片在 AI 返回结果后立即删除,我们不留副本;我们绝不出售、交换或分享面部数据,也不用于识别身份或训练 AI。
眼镜推荐:你的相机画面或照片由谷歌 MediaPipe 人脸模型在你自己的浏览器里分析,脸宽、估算瞳距和脸型都在你的设备上计算,不会发送给我们;你自己填写的瞳距只用在页面上,不保存也不发送,选择“用卡片测量”时,带卡片的照片同样只在你的浏览器里测量,从不上传或保存,卡片边缘确定后就会释放,“复制我的尺寸”只复制到你自己的剪贴板;人脸识别程序文件从 cdn.jsdelivr.net 和本网站下载,cdn.jsdelivr.net 会收到你的 IP 等常规请求信息;页面字体(Archivo)由本网站自己提供,不从 Google Fonts 加载。拖动试发型:发型图在你的浏览器里画到你的照片上;为了用你自己的发色(“你的发色”)上色,谷歌 MediaPipe 头发模型同样在你的浏览器里找出照片中的头发(程序文件来自 storage.googleapis.com),发色不保存,只在生成 AI 预览时随之发送(见下文)。逼真 AI 预览:当你已在扫描页面同意,并且没有关闭“逼真效果(AI)”时,你停留的每款发型或每副眼镜,以及列表里的下一款(提前做好),都会把一张缩小后的照片(500×500)、所选款式或镜框和发色(你选的色板,或从同一张照片测出的“你的发色”色值)发送给 Cloudflare Workers AI(Black Forest Labs 的 FLUX.2 [klein] 模型),结果返回到你的浏览器;你点“先去掉眼镜”时,同一张方图在同一项同意下也会发送一次,用来从照片中去掉你现在戴的眼镜(用 1 次免费次数;如果结果改变了你的眼睛或眉毛,手机会保留原照片);在实时模式下,AI 用的也是扫描时的那张照片,绝不用相机画面,你的手机会把 AI 图片里的头发抠出来,戴在相机画面上;你的同意会保存在这台设备上;想停止发送照片,可以在结果页取消勾选“逼真效果(AI)”,或勾选“只看能即时试戴的发型(不用 AI 生成)”,两者效果相同;第一张照片可能已经发送了,因为扫描页面的同意已经涵盖它;关闭后,AI 在这台设备上会一直保持关闭,直到你重新打开开关,正在发送的内容也会停止;我们不保存照片或生成结果,Cloudflare 按其隐私政策处理。使用发型照片:如果你点“用一张发型照片”并选一张你喜欢的发型图片,你的手机会先检查图里正好有一张人脸,把它裁成头部周围的方图(496×496),并把其中的脸(从眉毛到下巴)填成纯灰色,能做到时也会把背景和衣服变灰;然后才把这张只剩头发的图片,连同上文所说的你自己照片的缩小方图和发色,一起发送给 Cloudflare Workers AI,只用来生成这一次预览,我们不保存。你选的原图不会以任何其他形式离开你的手机,方图做好后手机就会释放它。请只使用你有权使用的照片。同样的同意、“逼真效果(AI)”开关和“只看能即时试戴的发型”勾选都适用:AI 关闭时,这个按钮不会发送任何内容。为实现每日免费次数限制,我们用一个密钥和每天(UTC)新生成的随机密钥,把你的网络地址单向转换成一个代码,和次数一起保存在 Cloudflare,保留当天和第二天,之后的第一次访问会把它删除;不保存 IP 本身。每天的随机密钥也这样删除:在后天或之后的第一次访问时删除。Cloudflare 的数据库保留 7 天的恢复记录,所以此后 7 天内,掌控我们 Cloudflare 账户的人仍可找回这个密钥;再往后,任何人(包括我们)都无法把那天的代码还原成网络地址。如果你在发型页面选择了自己的发质(直发、波浪、卷发或小卷),它只保存在这个浏览器里,并随该发型的 AI 预览(包括侧面和背面)一起发送,让图片保留你的发质;如果是卷发或小卷并选择齐刘海,还会附上我们自己的发型示例图(不是真人)。这是你自己的选择,绝不会从照片中测量,也不会储存在我们的服务器上。另有匿名的每日统计(访问、扫描脸型、点击镜框跳转到零售商、生成发型预览、从照片中去掉现在戴的眼镜、生成、调整、保存、打印理发师卡片或发送修改建议、通过分享的链接或二维码打开理发师卡片、对结果发送留言、把页面切换成中文、西班牙文或韩文、在实时试戴中打开 3D(测试版)眼镜(以固定名称 live3d_on 计数;3D 在你的手机上运行,不会多传出任何东西)、点击 1 到 5 分的有用程度评分(只记录分数,以及是眼镜、开着 3D(测试版)的眼镜还是发型;示例人脸上的评分不计数)、拍照这一步走到了哪里(显示了拍照页面、在发型示例上点了“用我的照片试试”、打开了相机或选了照片、相机被拒绝或打不开、显示了第一个结果:是示例人脸还是你自己的照片,以及距打开网站过了多久,只分四档:5 秒以内、5 到 10 秒、10 到 20 秒、20 秒以上)、页面出错以及是哪个部分出错(一个固定名称,例如人脸扫描、相机、AI 图片、3D 眼镜或理发师卡片;技术细节只放在下文所述的错误报告里)等,以及你进入网站时链接上的简短来源标记,例如二维码卡片或别人从应用里分享的链接;如果是我们的指南或发型页面上的链接把你带进应用,还会以固定名称 via 记下那个页面的简短标记,和其他记录一样每天最多一次),同一代码每项每天最多算一次,不含照片、姓名、文字内容、IP 或 Cookie。每天的代码都不同,因此这些记录无法跨天关联;只有掌控我们 Cloudflare 账户的人,在当天的随机密钥按上文所述彻底消失之前可以做到。这些记录保留到当天之后 120 天,之后的第一次访问会把它们删除(同样适用 Cloudflare 的 7 天恢复记录)。唯一的例外:启用每日随机密钥之前留下的记录只用了密钥和日期、没有用随机密钥,因此持有该密钥的人(包括掌控我们 Cloudflare 账户的人)在这些记录按同样的期限删除之前,仍可把它们还原成网络地址并跨天关联。错误报告:网站出问题时,会发送一份技术错误报告,方便我们修复:错误信息和出错的代码位置(文件、行号以及走到那里的调用步骤)、应用版本、浏览器类型和主版本号、操作系统类型(例如“Safari 17,iOS”;从不保存完整的浏览器字符串),以及页面路径。其中的链接会先在你的手机上、再在我们的服务器上去掉个人部分:网址里 ? 之后和 # 之后的部分、电子邮件地址、长串数字、照片数据以及任何看起来像密钥或令牌的内容都会被删除。报告不含照片、姓名、你输入的任何内容,也不含任何标识:不会和它一起保存 IP 地址、每日代码或 Cookie。同一个错误每天只保存一次,并记一个次数。每次打开页面最多发送 5 份报告。报告在产生之日起 30 天后删除。理发师卡片修改建议:如果你在卡片下方选择理发师、发型师或顾客,再点“发送我的建议”,我们会保存卡片上的发型设置(如果卡片自带的简短备注栏填了内容,也包括在内)、你选的身份(理发师、发型师或顾客)、可选的备注(最多 280 字)和日期,不保存照片、IP 或每日代码;每日代码只用来计数(每天最多 5 条),方式和免费次数限制相同;和统计记录一样,修改建议保留到发送当天之后 120 天,之后的第一次访问会把它们删除。请不要在备注里写姓名、电话号码或邮箱。对结果的留言:每个眼镜或发型结果下面都有一个留言框(“有什么需要改进的?”)。点“发送”之前什么都不会发出。发送后我们保存:你的留言(最多 280 字)、日期、眼镜还是发型、屏幕上镜框或发型的目录编号、是你自己的照片还是示例人脸,以及你点过的 1 到 5 分评分(如果点过),不保存照片、IP、每日代码或任何能看出是谁发的信息;每日代码只用来计数(每天最多 5 条),方式和免费次数限制相同;留言保留到发送当天之后 120 天,之后的第一次访问会把它们删除。请不要在留言里写姓名、电话号码或邮箱。根据留言做的修改会不署名地列在“你说,我们改”页面上。理发师卡片的链接和二维码只包含卡片上的发型设置(以及你写的简短备注),不含照片,而且在网址的 # 之后,打开链接不会发送给任何服务器。你的语言选择、想看女士还是男士发型、“已同意扫描说明”这一点、你是否关闭了逼真 AI,以及你是否已看过一次性的 iPhone“添加到主屏幕”小提示,只保存在你自己的浏览器里(localStorage);如果你在理发师卡片上点“保存这个发型”,这张卡片的链接代码(就是链接里已有的发型设置)、发型名称、日期和你可选的备注(最多 40 个字)会以“我的发型”保存在这个浏览器的 localStorage 里,最多 20 条,不含照片,也不会发送到任何地方;可以在“我的发型”里删除,或清除浏览器数据来删除;理发师的客户备注(“为客户保存”:昵称、卡片上的发型设置和日期)只保存在保存它的设备的 localStorage 里,绝不会发送给我们;导出的客户文件只在理发师自己放的地方;其他筛选条件、脸部测量和你填写的瞳距都不保存,关闭页面就没有了;你选的“镜像”或“别人眼中的你”只在这次访问中保存在这个标签页的 sessionStorage 里,关闭标签页就没有了。理发师在客户名单中写的每次到店的备注,以及保存的理发前后客户照片,同样只保存在那部设备上(照片在 IndexedDB,备注在 localStorage):绝不上传,也绝不发送给 AI;可以按次删除或用“全部删除”清除;只有理发师勾选“文件中包含照片”时,照片才会进入导出的文件。无论你是否把应用添加到主屏幕,你的手机都会保存一份应用自身文件的副本,让网站打开更快、也能离线使用;这份副本不含任何个人信息。点击“分享”时,由你设备自带的分享菜单把你选的图片发给你选的应用或人,我们收不到;分享的图片和链接上会显示网站地址 fitmyface.app。从眼镜结果分享的链接还会带上图中镜框的公开目录编号,方便收到的人在自己脸上试戴同样的镜框。链接里没有照片、没有尺寸,也没有姓名,但其中的镜框可能透露你大致的镜框尺寸、价格区间或风格。从发型结果分享的链接也会带上其中发型的公开目录名称(最多四个),方便收到的人试同样的发型。链接里没有照片、尺寸、发色,也没有姓名,但其中的发型可能透露你的风格选择。零售商链接会打开零售商自己的网站,适用其隐私政策;价格为页面所示日期查到的价格,可能变动。须年满 18 岁;本服务暂不向伊利诺伊州提供;请勿上传儿童照片,或未经他人同意上传他人照片。示例人脸是 AI 生成的虚构人物。瞳距只是估算,不是医疗建议;配处方眼镜请使用验光师或眼科医生给出的瞳距。 你在眼镜页选填的处方数字(SPH、CYL,用来估算镜片厚度)只保存在你的手机上(此浏览器的 localStorage),从不发送,也不计数;点“清除”即可删除。眼镜店在店铺模式中载入的镜框清单只保存在该店自己的设备上(localStorage),绝不发送给我们,也不含任何顾客资料。
理发师工作台:在理发师平板上打开工作台地址后,“扫描客户卡片”只用这台平板的相机读取理发卡上的二维码;相机画面只在平板本机读取(由浏览器或本站提供的 jsQR 程序读取),从不保存、也不发送到任何地方;读到卡片、理发师点“停止”或页面被隐藏时,相机立即关闭。
商店小工具。商店可以把 FitMyFace 放在它自己的网页里(/embed 页面)。这就是同一个应用:同样的说明、发送任何 AI 照片前同样的同意、同样的 18 岁以上规定,以及同样的伊利诺伊州限制。商店不会从我们这里得到你的照片、测量数据或结果;它的简短代码只作为链接来源标记被计数,和其他链接代码一样。用商店代码打开的镜框列表是从本网站读取的公开文件。你的单眼瞳距(显示为 R / L)和其他测量一样在你的设备上计算,从不发送,也不会放进链接。
Resumen en español
Esta es una traducción del aviso en inglés de arriba. Si algo no coincide, prevalece el texto en inglés.
En resumen: para cortes de pelo, un cuadro de 500 px de tu foto, con la cara incluida, va a nuestra IA (Cloudflare) y se borra justo después. Nunca se guarda. 18+.
Lentes: tus medidas se quedan en tu dispositivo. Cuando usas la cámara o eliges una foto, la imagen la analiza el modelo de cara MediaPipe de Google, que funciona dentro de tu propio navegador. Las medidas de la cara (ancho de la cara, distancia entre pupilas estimada y forma de la cara) se calculan en tu dispositivo y no se nos envían. Si escribes tu propia distancia entre ojos (DP), se usa solo en la página: no se guarda ni se envía. Si eliges "Medir con una tarjeta", la foto con la tarjeta se mide dentro de tu navegador de la misma forma, nunca se sube ni se guarda, y se descarta cuando se fijan los bordes de la tarjeta. "Copiar mis medidas" las copia a tu propio portapapeles. Los archivos del programa del escáner de cara se descargan de cdn.jsdelivr.net, que recibe la información normal de una solicitud, como tu dirección IP, y de este sitio web. La fuente de la página (Archivo) viene de este mismo sitio, no de Google Fonts.
Prueba de cortes: dibujada en tu dispositivo. Los cortes que arrastras y pruebas se dibujan sobre tu foto dentro de tu navegador. Para pintarlos con tu propio color de pelo ("Tu color"), el modelo de pelo MediaPipe de Google encuentra el pelo en tu foto, también dentro de tu navegador; su archivo de programa viene de storage.googleapis.com. El color no se guarda, y solo se envía con una vista previa con IA (abajo).
Vistas previas realistas con IA: activadas, a menos que las apagues. Cuando aceptaste en la pantalla del escaneo y no apagaste "Resultados realistas (IA)", se envía un cuadro reducido de tu foto (500 × 500 píxeles) por cada peinado o par de lentes en el que te detienes, y por el siguiente de la lista para que esté listo cuando llegues, junto con el estilo o armazón que elegiste y el color de pelo (una muestra que elegiste, o el código de color de "Tu color" medido en esa misma foto). Se envía a Cloudflare Workers AI, que usa el modelo FLUX.2 [klein] de Black Forest Labs. El resultado regresa a tu navegador. El mismo cuadro, con el mismo consentimiento, también se envía una vez cuando tocas "Quítalos primero" para quitar de la foto los lentes que llevas (1 intento gratis; tu teléfono conserva la foto original si el resultado cambia tus ojos o cejas). En En vivo, la IA usa esa misma foto de tu escaneo, nunca imágenes de la cámara, y tu teléfono recorta el pelo de la imagen de IA para ponértelo en la cámara. Tu aceptación se recuerda en este dispositivo. Para dejar de enviar fotos, desmarca "Resultados realistas (IA)" en los resultados, o marca "Solo prueba instantánea (sin generar con IA)", que apaga la IA de la misma forma. Tu primera foto puede haberse enviado ya para entonces, porque la aceptación en la pantalla del escaneo la cubre. Se queda apagada en este dispositivo hasta que vuelvas a activar el interruptor, y lo que esté en camino se detiene. No guardamos la foto ni el resultado. Cloudflare puede tratar información según su propia política de privacidad.
Usar una foto de un corte. Si tocas "Usar una foto de un corte" y eliges una imagen de un corte que te gusta, tu teléfono primero revisa que muestre exactamente una cara, la recorta a un cuadro alrededor de la cabeza (496 × 496 píxeles) y rellena la cara, de las cejas a la barbilla, con gris plano; cuando puede, también pone en gris el fondo y la ropa. Solo entonces se envía esa imagen de solo pelo, junto con el mismo cuadro reducido de tu propia foto y el color de pelo descrito arriba, a Cloudflare Workers AI; se usa una vez para hacer la vista previa y no la guardamos. La imagen que elegiste nunca sale de tu teléfono de ninguna otra forma, y tu teléfono la descarta cuando el cuadro está hecho. Usa solo fotos que tengas derecho a usar. Se aplican la misma aceptación, el mismo interruptor "Resultados realistas (IA)" y la misma casilla "Solo prueba instantánea": con la IA apagada, el botón no hace nada.
Vistas de lado y por detrás. Después de un resultado de pelo en tu propia foto puedes tocar "Verlo de lado y por detrás" y agregar hasta 2 fotos más, de perfil (izquierdo o derecho) y de la parte de atrás de tu cabeza: cada una se recorta en tu teléfono a un cuadro de 500 × 500 píxeles y se envía a Cloudflare Workers AI igual que tu foto de frente, con el mismo estilo y color de pelo y los datos de lado o de atrás de la tarjeta del corte, se usa una vez para hacer esa vista, se borra justo después y nunca la guardamos. Cada una usa un intento gratis. Valen el mismo acuerdo, el interruptor "Resultados realistas (IA)", la regla de 18+ y el bloqueo de Illinois; no se ofrece en las caras de muestra. Las imágenes quedan solo en la página abierta y van en la tarjeta del barbero solo si lo marcas. En el Estudio (para estilistas) vale lo mismo para una foto del lado izquierdo, una del lado derecho y una de atrás del cliente: cada una queda solo en la página abierta hasta que se toca esa vista en una opción, entonces se envía una vez de la misma forma (un intento gratis por cada vista que se hace) y desaparece al cerrar el Estudio; no se ofrece en las caras de muestra. Las fotos de detalle agregadas en el Estudio (primeros planos como la coronilla o la nuca) nunca se envían a la IA ni a nosotros: quedan en la página abierta de ese dispositivo y solo aparecen en una imagen de tarjeta o una página impresa hecha allí.
Política de datos biométricos. Qué: el escaneo de la cara mide la geometría de la cara (ancho de la cara, separación de los ojos, proporciones de la cara) para sugerir armazones y cortes. Cada vista previa de peinado con IA usa una foto de tu cara; una vista previa con "Usar una foto de un corte" también envía una segunda imagen, la parte del pelo de la foto que elegiste, con la cara antes puesta en gris en tu teléfono. Consentimiento: antes de cualquier escaneo de tu cara, tocas "Acepto: abrir la cámara" o "Acepto: usar una foto", justo debajo de un aviso que explica el escaneo. Desde el 1 de noviembre de 2026 ese mismo aviso también dice que tu foto se envía a nuestro proveedor de IA (Cloudflare) para vistas previas realistas y se borra justo después, así que un solo toque cubre las dos cosas; un interruptor en los resultados apaga la IA. Las caras de muestra no necesitan consentimiento: son personas hechas con IA, no tú. Conservación: nunca guardamos las medidas del escaneo: existen solo en tu dispositivo mientras la página está abierta y se borran al cerrarla. Las fotos de las vistas previas de peinados se borran en cuanto la IA devuelve el resultado; no guardamos ninguna copia. No se venden: nunca vendemos, alquilamos, intercambiamos ni compartimos datos de la cara, y nunca los usamos para identificar a nadie ni para entrenar modelos de IA. Seguridad: todo el tráfico usa HTTPS; en nuestra base de datos no se escribe nada salvo los conteos anónimos descritos abajo y la clave diaria aleatoria que se usa para hacerlos, y una corrección de la tarjeta para el barbero o una nota sobre un resultado si decides enviarla.
Límite diario gratis. Para repartir de forma justa las vistas previas gratis con IA, convertimos tu dirección de red en un código con un hash de un solo sentido de la dirección, una clave secreta y una clave aleatoria nueva cada día (UTC), y guardamos ese código con un contador en Cloudflare durante ese día y el siguiente; la primera visita después de eso lo borra. Nunca guardamos la dirección IP misma. La clave aleatoria de cada día se borra de la misma forma, en la primera visita el día después del siguiente o más tarde. La base de datos de Cloudflare guarda un historial de restauración de 7 días, así que durante 7 días después de eso alguien con control de nuestra cuenta de Cloudflare todavía podría recuperar la clave; a partir de entonces, nadie, ni nosotros, puede volver a convertir los códigos de ese día en direcciones de red.
Conteos anónimos. Para saber si la app es útil, registramos que el mismo código diario hizo cosas como visitar, escanear una cara, tocar un armazón para ir a una tienda, hacer una vista previa de peinado (una vista de lado o por detrás se cuenta con el nombre fijo hair_sideback, sin nada más), quitar de la foto los lentes que llevas, hacer, ajustar, guardar, imprimir o enviar una corrección de una tarjeta para el barbero, abrir una tarjeta para el barbero desde su enlace compartido o su código QR, enviar una nota sobre un resultado, cambiar la página a chino, español o coreano, activar los lentes en 3D (beta) en vivo (se cuenta con el nombre fijo live3d_on; el 3D funciona en tu teléfono y no sale nada más de él), o tocar una calificación de utilidad de 1 a 5 (solo el número, y si era para lentes, para lentes con el 3D (beta) activado o para pelo; una calificación sobre una cara de muestra no se cuenta), o hasta dónde llegó el paso de la foto (se mostró el paso de la foto, se tocó «Probarlo en mi foto» en la muestra de peinado, se abrió la cámara o se eligió una foto, la cámara se rechazó o falló, y se mostró el primer resultado, en una cara de muestra o en tu propia foto, con cuánto tiempo después de abrir el sitio en una de cuatro franjas: menos de 5, de 5 a 10, de 10 a 20 o más de 20 segundos), o que la página tuvo un error y qué parte falló (un nombre fijo, como el escaneo de la cara, la cámara, la imagen de IA, los lentes en 3D o la tarjeta para el barbero; los detalles técnicos van solo en los informes de errores descritos abajo), junto con la etiqueta corta de origen del enlace por el que llegaste (por ejemplo una tarjeta impresa con QR, o un enlace que alguien compartió desde la app). Cada código se cuenta como máximo una vez por acción al día. Estos registros no contienen fotos, nombres, texto escrito, direcciones IP ni cookies. Cada día tiene su propio código, así que no se pueden relacionar entre días, salvo por alguien con control de nuestra cuenta de Cloudflare, y solo hasta que la clave aleatoria de ese día desaparezca como se describe arriba. Los guardamos 120 días después del día en que se hicieron, y la primera visita después de eso los borra (aquí también aplica el historial de restauración de 7 días de Cloudflare). Una excepción: los registros hechos antes de que agregáramos la clave diaria aleatoria usaban solo la clave secreta y la fecha, así que quien tenga la clave secreta (incluida cualquier persona con control de nuestra cuenta de Cloudflare) todavía puede convertirlos en direcciones de red y relacionarlos entre días hasta que se borren con el mismo calendario.
Informes de errores. Cuando algo falla, el sitio envía un informe técnico del error para que podamos arreglarlo: el mensaje del error y el lugar del código de donde vino (archivo, línea y los pasos que llevaron ahí), la versión de la app, el tipo de navegador y su versión principal y el tipo de sistema operativo (por ejemplo "Safari 17, iOS"; nunca el texto completo del navegador), y la ruta de la página. Los enlaces se limpian antes de partes personales, en tu teléfono y otra vez en nuestro servidor: se quitan las consultas (lo que va después de ?) y lo que va después de #, los correos electrónicos, los números largos, los datos de fotos y todo lo que parezca una clave o un token. Un informe no contiene fotos, nombres, nada de lo que escribiste ni ningún identificador: no se guarda con él ninguna dirección IP, código diario ni cookie. El mismo error se guarda una vez al día con un contador. Se envían como máximo 5 informes por visita a la página. Los informes se borran 30 días después del día en que se hicieron.
Correcciones de la tarjeta para el barbero. Si eliges Barbero, Estilista o Cliente debajo de la tarjeta ("¿Está bien? Dinos qué cambiarías") y luego tocas "Enviar mi sugerencia", guardamos los datos del corte de la tarjeta (incluida la línea corta de nota de la propia tarjeta, si está escrita), el rol que elegiste (barbero, estilista o cliente), tu nota opcional (hasta 280 caracteres) y la fecha. No se guarda con ella ninguna foto, dirección IP ni código diario; el código diario solo cuenta las correcciones (como máximo 5 al día) igual que el límite de intentos gratis. Igual que los conteos, las correcciones se guardan 120 días después del día en que se enviaron, y la primera visita después de eso las borra. Por favor no pongas nombres, teléfonos ni correos en la nota.
Notas sobre un resultado. Debajo de cada resultado de lentes o de pelo hay un cuadro de mensaje ("¿Algo que debamos arreglar o agregar?"). No se envía nada hasta que tocas Enviar. Entonces guardamos tu nota (hasta 280 caracteres), la fecha, si era de lentes o de pelo, el código de catálogo del armazón o peinado en pantalla, si era tu propia foto o una cara de muestra, y tu calificación de 1 a 5 si tocaste una. No se guarda con ella ninguna foto, dirección IP, código diario ni otra forma de saber quién la envió; el código diario solo cuenta las notas (como máximo 5 al día) igual que el límite de intentos gratis. Las notas se guardan 120 días después del día en que se enviaron, y la primera visita después de eso las borra. Por favor no pongas nombres, teléfonos ni correos en una nota. Los arreglos que hacemos a partir de las notas aparecen, sin nombres, en Nos dijiste, lo arreglamos.
Guardado solo en tu navegador. Tu elección de idioma, si quieres ver cortes de mujer o de hombre, el hecho de que aceptaste el aviso del escaneo, si apagaste la IA realista y si ya viste el consejo único de "Agregar a inicio" en iPhone, se recuerdan solo en tu propio navegador (localStorage). Una vez apagada, la IA se queda apagada en este dispositivo hasta que la vuelvas a activar. Si tocas "Guardar este corte" en una tarjeta para el barbero, el código del enlace de esa tarjeta (los datos del corte que su enlace ya lleva), el nombre del estilo, la fecha y tu etiqueta opcional (hasta 40 caracteres) se guardan en el localStorage de este navegador en "Mis cortes", como máximo 20, nunca con una foto, y nunca se envían a ningún lado; bórralos en Mis cortes, o borrando los datos de tu navegador. Las notas de clientes de un barbero ("Guardar para un cliente": un apodo, los datos del corte de la tarjeta y la fecha) se quedan solo en el dispositivo que las guardó, en su localStorage, y nunca se nos envían; un archivo de clientes exportado va solo a donde el barbero lo ponga. Las notas libres del barbero sobre una visita y las fotos de antes y después de clientes guardadas en la lista del barbero también se quedan solo en ese dispositivo (las fotos en su IndexedDB, las notas en su localStorage): nunca se suben ni se envían a la IA, se pueden borrar por visita o con "Borrar todo", y una foto va a un archivo exportado solo si el barbero marca "Incluir las fotos en el archivo". Los demás filtros, las medidas de la cara y cualquier DP que escribas no se guardan: desaparecen al cerrar la página. Tu elección de "Espejo" o "Como te ven los demás" se guarda solo durante la visita, en el sessionStorage de esta pestaña, y desaparece al cerrar la pestaña. Tu teléfono también guarda una copia de los archivos de la app para que el sitio abra rápido y funcione sin conexión, la agregues o no a tu pantalla de inicio; esta copia no contiene información personal. Si eliges los números de tu receta (ESF/SPH, CIL/CYL) en la pantalla de lentes para estimar el grosor del cristal, esos números opcionales se quedan en tu teléfono, en el localStorage de este navegador, y nunca se envían ni se cuentan; toca Olvidar para borrarlos. La lista de armazones que una óptica carga en el modo tienda se queda en el dispositivo de esa tienda (su localStorage), nunca se nos envía y no contiene datos de clientes.
Compartir. Cuando tocas Compartir, el menú para compartir de tu propio dispositivo envía la imagen que elegiste a la app o persona que elijas; nosotros no la recibimos. Las imágenes y enlaces compartidos muestran la dirección del sitio, fitmyface.app. El enlace y el código QR de una tarjeta para el barbero llevan solo los datos del corte de la tarjeta (largos, números de máquina, degradado, etc., y su nota corta si escribiste una), nunca una foto; van después del # en la dirección, así que abrir el enlace no los envía a ningún servidor. Un enlace compartido desde los resultados de lentes también nombra los armazones de la imagen por su código público de catálogo, para que la persona a quien se lo mandes pueda probar los mismos armazones en su propia cara. El enlace no lleva foto, medidas ni nombre, pero los armazones pueden dar una idea de tu talla aproximada de armazón, tu rango de precio o tu estilo.
Enlaces y precios de tiendas. Los enlaces a armazones van al sitio de la propia tienda, que tiene su propia política de privacidad. Los precios son los revisados en la fecha que se muestra y pueden cambiar; la tienda fija el precio final y la disponibilidad.
Quién puede usarlo. Debes tener 18 años o más. FitMyFace no se ofrece en Illinois. Sube solo fotos tuyas, o de un adulto que esté de acuerdo. No subas fotos de niños, ni fotos de otras personas sin su permiso. Las caras de muestra de la app son fotos hechas con IA de personas que no existen.
No es consejo médico. La distancia entre pupilas (DP) que se muestra es una estimación a partir de una foto. Para lentes graduados, usa la DP de tu óptica o de tu oculista.
Estación del barbero. En la tableta de un barbero abierta en la dirección de la estación, "Escanear la tarjeta del cliente" usa la cámara de esa tableta solo para leer el código QR de una tarjeta para el barbero: las imágenes de la cámara se leen en la propia tableta (con el navegador o con el programa jsQR servido desde este sitio), nunca se guardan ni se envían a ningún lado, y la cámara se apaga en cuanto se lee una tarjeta, cuando el barbero toca Detener o cuando la página se oculta.
Widget para tiendas. Una tienda puede mostrar FitMyFace dentro de su propia página web (la página /embed). Es la misma app, con el mismo aviso, el mismo consentimiento antes de enviar cualquier foto a la IA, la misma regla de 18 años o más y el mismo bloqueo en Illinois. La tienda no recibe de nosotros ninguna foto, medida ni resultado; su código corto solo se cuenta como marca de origen del enlace, igual que cualquier otro código de enlace. Una lista de monturas abierta con un código de tienda es un archivo público que se lee de este sitio. Tu distancia pupilar por ojo (mostrada como R / L) se calcula en tu dispositivo como las demás medidas y nunca se envía ni se pone en un enlace.
한국어 요약
이 글은 위의 영어 안내문을 번역한 것입니다. 내용이 다를 경우 영어 원문이 우선합니다.
요약: 헤어스타일을 위해, 얼굴을 포함한 사진의 500 px 정사각형이 저희 AI(Cloudflare)로 보내지고 바로 삭제됩니다. 저장하지 않습니다. 만 18세 이상.
안경: 측정값은 기기에 남습니다. 카메라를 쓰거나 사진을 고르면, 그 이미지는 사용자의 브라우저 안에서 실행되는 Google의 MediaPipe 얼굴 모델이 분석합니다. 얼굴 측정값(얼굴 너비, 추정 동공 간 거리, 얼굴형)은 기기에서 계산되며 저희에게 보내지지 않습니다. 눈 사이 거리(PD)를 직접 입력하면 그 값은 페이지에서만 쓰이며, 저장하거나 보내지 않습니다. "카드로 재기"를 고르면 카드가 들어간 사진도 같은 방식으로 브라우저 안에서 측정되며, 업로드하거나 저장하지 않고, 카드 가장자리가 정해지면 버립니다. "내 수치 복사"는 수치를 사용자의 클립보드에 복사합니다. 얼굴 스캐너 프로그램 파일은 cdn.jsdelivr.net과 이 웹사이트에서 내려받으며, cdn.jsdelivr.net은 IP 주소 같은 일반적인 요청 정보를 받습니다. 페이지 글꼴(Archivo)은 Google Fonts가 아니라 이 웹사이트에서 제공합니다.
헤어스타일 미리 보기: 기기에서 그립니다. 끌어서 대 보는 헤어스타일은 브라우저 안에서 사진 위에 그립니다. 내 머리 색("내 머리 색")으로 칠하기 위해 Google의 MediaPipe 머리카락 모델이 역시 브라우저 안에서 사진 속 머리카락을 찾습니다. 이 프로그램 파일은 storage.googleapis.com에서 받습니다. 색상은 저장하지 않으며, AI 미리 보기(아래)를 만들 때만 함께 보냅니다.
사진처럼 실감 나는 AI 미리 보기: 끄지 않으면 켜져 있습니다. 스캔 화면에서 동의했고 "사진처럼 실감 나는 결과(AI)"를 끄지 않았다면, 멈춰서 보는 헤어스타일이나 안경마다, 그리고 바로 볼 수 있도록 목록의 다음 항목에 대해서도, 사진을 줄인 정사각형(500 × 500 픽셀)이 고른 스타일이나 안경테, 머리 색(고른 색 견본, 또는 같은 사진에서 잰 "내 머리 색"의 색상 코드)과 함께 보내집니다. 보내는 곳은 Cloudflare Workers AI이며, Black Forest Labs의 FLUX.2 [klein] 모델을 씁니다. 결과는 브라우저로 돌아옵니다. "먼저 안경 지우기"를 누르면 같은 동의로 같은 정사각형이 한 번 더 보내져 사진에서 지금 쓴 안경을 지웁니다(무료 1회 사용, 결과가 눈이나 눈썹을 바꾸면 휴대폰이 원래 사진을 그대로 둡니다). 실시간에서는 AI가 카메라 화면이 아니라 스캔한 같은 사진을 쓰며, 휴대폰이 AI 그림에서 머리카락을 잘라 내어 카메라 화면에 얹습니다. 동의는 이 기기에 기억됩니다. 사진 보내기를 멈추려면 결과 화면에서 "사진처럼 실감 나는 결과(AI)"의 체크를 해제하거나, 같은 방식으로 AI를 끄는 "즉시 미리 보기만(AI 생성 안 함)"을 체크하세요. 스캔 화면의 동의가 첫 사진에도 적용되므로, 그때는 첫 사진이 이미 보내졌을 수 있습니다. 스위치를 다시 켤 때까지 이 기기에서는 꺼진 상태로 유지되며, 보내는 중인 요청은 멈춥니다. 저희는 사진이나 결과를 저장하지 않습니다. Cloudflare는 자체 개인정보 처리방침에 따라 정보를 처리할 수 있습니다.
헤어스타일 사진 쓰기. "헤어스타일 사진 쓰기"를 누르고 마음에 드는 헤어스타일 사진을 고르면, 휴대폰이 먼저 얼굴이 정확히 하나인지 확인하고, 머리 주변 정사각형(496 × 496 픽셀)으로 자른 뒤, 눈썹부터 턱까지 얼굴을 회색으로 채웁니다. 가능하면 배경과 옷도 회색으로 만듭니다. 그다음에야 이 머리카락만 있는 이미지를, 내 사진을 줄인 같은 정사각형과 위에서 설명한 머리 색과 함께 Cloudflare Workers AI로 보냅니다. 미리 보기를 만드는 데 한 번 쓰고 저장하지 않습니다. 고른 이미지는 다른 방식으로는 휴대폰 밖으로 나가지 않으며, 정사각형이 만들어지면 휴대폰이 버립니다. 사용할 권리가 있는 사진만 쓰세요. 같은 동의, 같은 "사진처럼 실감 나는 결과(AI)" 스위치, 같은 "즉시 미리 보기만" 체크 상자가 적용되며, AI가 꺼져 있으면 버튼은 아무것도 하지 않습니다.
옆모습과 뒷모습. 내 사진으로 헤어 결과가 나온 뒤 "옆모습과 뒷모습 보기"를 눌러 사진을 2장까지, 즉 머리 옆모습(왼쪽 또는 오른쪽)과 뒷모습을 더 추가할 수 있습니다. 각 사진은 휴대폰에서 500 × 500 픽셀 정사각형으로 잘린 뒤 정면 사진과 똑같이 같은 스타일과 머리 색, 헤어 카드의 옆머리 또는 뒷머리 설정과 함께 Cloudflare Workers AI로 보내지고, 그 모습을 만드는 데 한 번 쓰인 뒤 바로 삭제되며 저희는 저장하지 않습니다. 사진마다 무료 횟수 1회를 씁니다. 같은 동의, "사진처럼 실감 나는 결과(AI)" 스위치, 만 18세 이상 규칙과 일리노이주 차단이 적용되며, 샘플 얼굴에서는 제공되지 않습니다. 그림은 열려 있는 페이지에만 남고, 체크할 때만 이발사 카드에 들어갑니다. 스튜디오(스타일리스트용)에서는 고객의 왼쪽 옆, 오른쪽 옆, 뒷모습 사진에도 똑같이 적용됩니다. 각 사진은 옵션에서 그 방향을 누를 때까지 열린 페이지에만 남고, 누르면 같은 방식으로 한 번 보내지며(만드는 방향마다 무료 횟수 1회), 스튜디오를 닫으면 사라집니다. 샘플 얼굴에서는 제공되지 않습니다. 스튜디오에서 추가한 세부 사진(정수리나 목선 같은 클로즈업)은 AI나 저희에게 절대 보내지 않습니다. 그 기기의 열린 페이지에만 남고, 거기서 만든 카드 그림이나 인쇄 페이지에만 나타납니다.
생체 정보 정책. 무엇을: 얼굴 스캔은 안경테와 헤어스타일을 제안하기 위해 얼굴의 형태(얼굴 너비, 눈 사이 간격, 얼굴 비율)를 측정합니다. AI 헤어스타일 미리 보기는 매번 얼굴 사진 한 장을 씁니다. "헤어스타일 사진 쓰기" 미리 보기는 두 번째 이미지, 즉 고른 사진의 머리카락 부분도 보내며, 그 얼굴은 미리 휴대폰에서 회색으로 가립니다. 동의: 얼굴을 스캔하기 전에, 스캔을 설명하는 안내 바로 아래에서 "동의해요 — 카메라 열기" 또는 "동의해요 — 대신 사진 쓰기"를 누릅니다. 2026년 11월 1일부터 같은 안내에 사진이 사진처럼 실감 나는 미리 보기를 위해 AI 제공업체(Cloudflare)로 보내지고 바로 삭제된다는 내용도 들어 있어서, 한 번 누르면 두 가지에 모두 동의하게 됩니다. 결과 화면의 스위치로 AI를 끌 수 있습니다. 샘플 얼굴은 동의가 필요 없습니다. 사용자 본인이 아니라 AI로 만든 사람이기 때문입니다. 보관: 스캔 측정값은 절대 저장하지 않습니다. 페이지가 열려 있을 때만 기기에 있고, 페이지를 닫으면 지워집니다. 헤어스타일 미리 보기용 사진은 AI가 결과를 돌려주는 즉시 삭제되며, 사본은 남기지 않습니다. 판매 금지: 얼굴 데이터는 절대 판매, 대여, 교환, 공유하지 않으며, 누군가를 식별하거나 AI 모델을 학습시키는 데 절대 쓰지 않습니다. 보안: 모든 통신은 HTTPS를 씁니다. 데이터베이스에는 아래에 설명한 익명 집계와 이를 위한 매일의 무작위 키, 그리고 직접 보내기로 한 경우의 이발사 카드 수정 의견이나 결과에 대한 의견 외에는 아무것도 기록하지 않습니다.
하루 무료 한도. 무료 AI 미리 보기를 공평하게 나누기 위해, 네트워크 주소를 주소, 비밀 키, 매일(UTC) 새로 만드는 무작위 키로 만든 단방향 해시 코드로 바꾸고, 그 코드를 횟수와 함께 그날과 다음 날까지 Cloudflare에 저장합니다. 그 뒤 첫 방문 때 삭제됩니다. IP 주소 자체는 절대 저장하지 않습니다. 매일의 무작위 키도 같은 방식으로, 다음다음 날 이후의 첫 방문 때 삭제됩니다. Cloudflare 데이터베이스는 7일간의 복원 기록을 보관하므로, 그 뒤 7일간은 저희 Cloudflare 계정을 관리하는 사람이 키를 되살릴 수 있습니다. 그 이후에는 저희를 포함해 누구도 그날의 코드를 네트워크 주소로 되돌릴 수 없습니다.
익명 집계. 앱이 쓸모 있는지 알기 위해, 같은 하루 코드가 방문, 얼굴 스캔, 안경테를 눌러 매장으로 이동, 헤어스타일 미리 보기 만들기(옆모습이나 뒷모습은 고정된 이름 hair_sideback으로만 집계하며 다른 정보는 없음), 사진에서 지금 쓴 안경 지우기, 이발사 카드 만들기·조정·저장·인쇄·수정 의견 보내기, 공유된 링크나 QR 코드로 이발사 카드 열기, 결과에 의견 보내기, 페이지를 중국어·스페인어·한국어로 바꾸기, 실시간에서 3D (베타) 안경 켜기(고정 이름 live3d_on으로 셉니다. 3D는 휴대폰에서 실행되며 그 밖에 나가는 것은 없습니다), 1에서 5까지의 도움 정도 평가 누르기(숫자와, 안경용인지, 3D (베타)를 켠 안경용인지, 헤어용인지만 기록하며 샘플 얼굴에 대한 평가는 세지 않습니다), 또는 사진 단계가 어디까지 진행됐는지(사진 단계가 표시됨, 헤어 샘플에서 '내 사진으로 해 보기'를 누름, 카메라를 열었거나 사진을 고름, 카메라가 거부되거나 실패함, 샘플 얼굴이나 내 사진으로 첫 결과가 표시됨, 그리고 사이트를 연 뒤 걸린 시간을 5초 미만, 5–10초, 10–20초, 20초 초과의 네 구간 중 하나로), 또는 페이지에 오류가 났고 어느 부분이 실패했는지(얼굴 스캔, 카메라, AI 사진, 3D 안경, 이발사 카드 같은 고정된 이름. 기술적인 내용은 아래의 오류 보고에만 담깁니다) 같은 일을 했다는 사실을, 들어온 링크의 짧은 출처 표시(예: QR이 있는 인쇄 카드, 또는 누군가 앱에서 공유한 링크)와 함께 기록합니다. 각 코드는 행동마다 하루 최대 한 번만 셉니다. 이 기록에는 사진, 이름, 입력한 글, IP 주소, 쿠키가 없습니다. 날마다 코드가 다르므로 날짜를 넘어 서로 연결할 수 없습니다. 예외는 저희 Cloudflare 계정을 관리하는 사람이며, 그것도 그날의 무작위 키가 위에서 설명한 대로 사라질 때까지만 가능합니다. 기록은 만든 날로부터 120일간 보관하고, 그 뒤 첫 방문 때 삭제됩니다(여기에도 Cloudflare의 7일 복원 기록이 적용됩니다). 예외 하나: 매일의 무작위 키를 추가하기 전에 만든 기록은 비밀 키와 날짜만 썼기 때문에, 비밀 키를 가진 사람(저희 Cloudflare 계정을 관리하는 사람 포함)은 같은 일정으로 삭제될 때까지 이를 네트워크 주소로 되돌리고 날짜를 넘어 연결할 수 있습니다.
오류 보고. 무언가 고장 나면 고칠 수 있도록 사이트가 기술적인 오류 보고를 보냅니다: 오류 메시지와 그 오류가 난 코드 위치(파일, 줄, 그 지점까지의 호출 단계), 앱 버전, 브라우저 종류와 주 버전, 운영체제 종류(예: "Safari 17, iOS". 브라우저의 전체 문자열은 저장하지 않습니다), 페이지 경로입니다. 그 안의 링크는 휴대폰에서 한 번, 서버에서 다시 한 번 개인적인 부분을 지웁니다: 주소의 ? 뒤 부분과 # 뒤 부분, 이메일 주소, 긴 숫자, 사진 데이터, 키나 토큰처럼 보이는 것은 모두 지웁니다. 보고에는 사진, 이름, 입력한 글, 식별자가 없습니다: IP 주소, 일일 코드, 쿠키를 함께 저장하지 않습니다. 같은 오류는 하루에 한 번만 저장하고 횟수만 셉니다. 페이지 방문 한 번에 보고는 최대 5개까지 보냅니다. 보고는 만든 날로부터 30일 뒤에 삭제됩니다.
이발사 카드 수정 의견. 카드 아래("이게 맞나요? 바꾸고 싶은 점을 알려 주세요")에서 이발사, 미용사, 고객 중 하나를 고르고 "제안 보내기"를 누르면, 카드의 헤어 설정(카드 자체의 짧은 메모 줄에 내용이 있으면 그것도 포함), 고른 역할(이발사, 미용사, 고객), 선택 사항인 메모(최대 280자), 날짜를 저장합니다. 사진, IP 주소, 하루 코드는 함께 저장하지 않습니다. 하루 코드는 무료 한도와 마찬가지로 수정 의견 수(하루 최대 5개)를 세는 데만 씁니다. 집계와 마찬가지로 수정 의견은 보낸 날로부터 120일간 보관하고, 그 뒤 첫 방문 때 삭제됩니다. 메모에 이름, 전화번호, 이메일은 적지 말아 주세요.
결과에 대한 의견. 안경이나 헤어 결과마다 아래에 메시지 상자("고치거나 더했으면 하는 게 있나요?")가 있습니다. 보내기를 누르기 전에는 아무것도 보내지 않습니다. 누르면 의견(최대 280자), 날짜, 안경용인지 헤어용인지, 화면에 있던 안경테나 헤어스타일의 카탈로그 코드, 내 사진인지 샘플 얼굴인지, 평가를 눌렀다면 1에서 5까지의 점수를 저장합니다. 사진, IP 주소, 하루 코드, 그 밖에 누가 보냈는지 알 수 있는 정보는 함께 저장하지 않습니다. 하루 코드는 무료 한도와 마찬가지로 의견 수(하루 최대 5개)를 세는 데만 씁니다. 의견은 보낸 날로부터 120일간 보관하고, 그 뒤 첫 방문 때 삭제됩니다. 의견에 이름, 전화번호, 이메일은 적지 말아 주세요. 의견을 바탕으로 고친 내용은 이름 없이 요청하신 것을 고쳤어요에 올라갑니다.
브라우저에만 저장되는 것. 언어 선택, 여성 또는 남성 헤어스타일 중 무엇을 볼지, 스캔 안내에 동의했다는 사실, 사진처럼 실감 나는 AI를 껐는지, 한 번만 보여 주는 iPhone "홈 화면에 추가" 팁을 이미 봤는지는 사용자의 브라우저(localStorage)에만 기억됩니다. 한 번 끈 AI는 다시 켤 때까지 이 기기에서 꺼진 상태로 유지됩니다. 이발사 카드에서 "이 헤어스타일 저장"을 누르면, 그 카드 링크의 코드(링크에 이미 들어 있는 헤어 설정), 스타일 이름, 날짜, 선택 사항인 메모(최대 40자)가 이 브라우저의 localStorage에 "내 헤어스타일"로 저장됩니다. 최대 20개이며, 사진은 절대 함께 저장하지 않고, 어디로도 보내지 않습니다. 내 헤어스타일에서 삭제하거나 브라우저 데이터를 지워서 삭제할 수 있습니다. 이발사의 고객 메모("고객용으로 저장": 별명, 카드의 헤어 설정, 날짜)는 저장한 기기의 localStorage에만 남고 저희에게 절대 보내지 않습니다. 이발사가 방문마다 적은 메모와 고객 목록에 저장한 시술 전후 사진도 그 기기에만 남고(사진은 IndexedDB, 메모는 localStorage) 업로드하거나 AI에 보내지 않습니다. 방문별로 또는 "모두 삭제"로 지울 수 있으며, 이발사가 "파일에 사진 포함"을 선택한 경우에만 사진이 내보내기 파일에 들어갑니다. 내보낸 고객 파일은 이발사가 둔 곳에만 있습니다. 그 밖의 필터, 얼굴 측정값, 입력한 PD는 저장하지 않으며 페이지를 닫으면 사라집니다. "거울" 또는 "남이 보는 모습" 선택은 방문 중에만 이 탭의 sessionStorage에 저장되며, 탭을 닫으면 사라집니다. 홈 화면에 추가했든 안 했든, 사이트가 빨리 열리고 오프라인에서도 작동하도록 휴대폰이 앱 파일의 사본을 보관합니다. 이 사본에는 개인 정보가 없습니다. 안경 화면에서 렌즈 두께를 추정하려고 고른 처방 숫자(SPH, CYL)는 선택 사항이며 휴대폰(이 브라우저의 localStorage)에만 남고, 절대 보내거나 집계하지 않습니다. 지우기를 누르면 삭제됩니다. 안경점이 매장 모드에서 불러온 안경테 목록은 그 매장의 기기(localStorage)에만 남고, 저희에게 절대 보내지 않으며, 고객 정보는 들어 있지 않습니다.
공유. 공유를 누르면 기기 자체의 공유 메뉴가 고른 이미지를 고른 앱이나 사람에게 보냅니다. 저희는 그 이미지를 받지 않습니다. 공유한 이미지와 링크에는 사이트 주소 fitmyface.app가 표시됩니다. 이발사 카드의 링크와 QR 코드에는 카드의 헤어 설정(길이, 바리캉 번호, 페이드 등, 그리고 적었다면 짧은 메모)만 들어 있고 사진은 절대 없습니다. 이 정보는 주소의 # 뒤에 있어서, 링크를 열어도 어떤 서버로도 보내지지 않습니다. 안경 결과에서 공유한 링크에는 받는 사람이 같은 안경테를 자기 얼굴에 써 볼 수 있도록 이미지 속 안경테의 공개 카탈로그 코드도 들어 있습니다. 링크에는 사진, 측정값, 이름이 없지만, 안경테로 대략적인 안경테 크기, 가격대, 스타일을 짐작할 수는 있습니다.
매장 링크와 가격. 안경테 링크는 매장 자체의 사이트로 연결되며, 그 사이트에는 자체 개인정보 처리방침이 있습니다. 가격은 표시된 날짜에 확인한 것이며 바뀔 수 있습니다. 최종 가격과 재고는 매장이 정합니다.
이용 대상. 만 18세 이상이어야 합니다. FitMyFace는 일리노이주에서는 제공되지 않습니다. 본인 사진이나, 동의한 성인의 사진만 올리세요. 어린이 사진이나 다른 사람의 사진을 허락 없이 올리지 마세요. 앱의 샘플 얼굴은 존재하지 않는 사람을 AI로 만든 사진입니다.
의학적 조언이 아닙니다. 표시되는 동공 간 거리(PD)는 사진으로 추정한 값입니다. 도수 안경에는 안경원이나 안과에서 잰 PD를 쓰세요.
이발사 스테이션. 이발사의 태블릿에서 스테이션 주소로 열면 "고객 카드 스캔"은 이발사 카드의 QR 코드를 읽는 데에만 그 태블릿의 카메라를 씁니다. 카메라 화면은 태블릿 안에서만(브라우저 또는 이 사이트에서 제공하는 jsQR 프로그램으로) 읽으며, 저장하거나 어디로도 보내지 않습니다. 카드를 읽는 즉시, 이발사가 중지를 누르면, 또는 페이지가 가려지면 카메라가 꺼집니다.
매장용 위젯. 매장은 FitMyFace를 자기 웹페이지 안에 띄울 수 있습니다(/embed 페이지). 같은 앱이며, 같은 안내, AI로 사진을 보내기 전의 같은 동의, 같은 만 18세 이상 규칙, 같은 일리노이주 차단이 적용됩니다. 매장은 저희로부터 사진, 측정값, 결과를 받지 않습니다. 매장의 짧은 코드는 다른 링크 코드처럼 링크 출처 표시로만 집계됩니다. 매장 코드로 여는 안경테 목록은 이 사이트에서 읽는 공개 파일입니다. 한쪽 눈 동공 거리(R / L로 표시)는 다른 측정처럼 기기에서 계산되며, 보내거나 링크에 넣지 않습니다.
This is a starter notice for a free beta; a paid launch would need a support contact and a review of applicable obligations.