Replace passwords, reset emails and SMS codes with face sign-in. Your customers look at their camera, and they are in.
300 sign-ins a month, free. One line of code to install.
The camera view is used to sign someone in, and then it is gone. Nothing is written to disk.
No face geometry, no face map, nothing that could be matched against your customers anywhere else.
There is no library of faces to leak, so a breach of us cannot expose the people who use your site.
People who used to give up at the password field get in on the first try.
The most common support request on the internet stops arriving.
Every reset you do not have to explain is time your team gets back.
A checkout or a members area that nobody bounces out of at the last step.
A face cannot be phished, guessed, bought in a leaked list, or reused on another site.
If you can edit your own pages, you can have this running this afternoon.
Shopify and Wix run their own login and only open it up on their enterprise plans, so face sign-in cannot replace it there yet. More on that below.
No password to remember, no email to go and find, no code to type out of a text message.
Your own button, on your own page, styled however you like.
One glance. The image is turned into a key and immediately discarded.
Straight back to what they came for. No reset email, no support ticket, no lost sale.
Then the code on your site never has to change again.
One tag in your page, wherever your sign-in button lives. Works with WordPress, WooCommerce, custom sites, and anything else that lets you edit HTML.
Face on its own, or face plus a name, a phone number, or a password. Every field you drop is a person who finishes signing up. Change your mind later without touching your site.
Every successful sign-in is another customer who did not abandon your site. Watch them arrive in your dashboard, and send them into your own system too, if you have one.
Every extra field on the way in costs you sign-ups. Collect what you actually need on the first visit, then decide how little someone has to prove every time they come back. Both are settings, not code.
Asked once, the first time someone arrives.
What they prove when they come back.
You can only ask for something at sign-in that you collected at sign-up, so ticking one here ticks the other for you.
A script tag for the front end, one signed check for the back end. The widget handles the camera, the states and the retries. Your server does a single HTTP call to confirm what happened.
<!-- anywhere before </body> --> <script src="https://www.facelogon.com/facelogon_widget_v1.js" data-app="fl_live_8x2kq4m"></script> // What you ask for lives in your dashboard, not here, // so nobody can edit this page to ask for less. <!-- your own button, styled however you like --> <button data-facelogon="signin"> Sign in with your face </button>
// Fires in the browser. Use it for your interface only. FaceLogon.on('signedin', function (e) { // e.code, short-lived, send this to your server fetch('/session', { method: 'POST', body: JSON.stringify({ code: e.code }) }); }); FaceLogon.on('failed', function (e) { // e.reason: no_match | liveness | camera_denied | timeout showMessage(e.reason); });
// On your server. This is the only result you should trust. const r = await fetch('https://api.facelogon.com/v1/verify', { method: 'POST', headers: { Authorization: 'Bearer ' + FACELOGON_SECRET }, body: JSON.stringify({ code }) }); const user = await r.json(); // { user_id: "flu_9f2a…", is_new: false, // factors_proven: ["face", "password"], // signed_in_at: "2026-07-31T…" } // Check this against what YOU require for the action. if (!user.factors_proven.includes('password')) return deny(); startSession(user.user_id);
// Optional. Paste any URL in your dashboard: // your server, Zapier, Make, or a Google Sheet. POST /your-endpoint FaceLogon-Signature: t=1785…,v1=… { "type": "user.signedin", "user_id": "flu_9f2a…", "is_new": false, "created": 1785312000 }
A few lines of code and you are done. No authentication infrastructure to build, and no biometric expertise required.
You verify one result. FaceLogon handles the whole sign-in flow, so your front end stays clean and your back end stays in control.
The camera is opened by FaceLogon, not by your website. Your application never asks for camera permission and never receives the video.
Security rules are enforced on our servers, not in your website's code. Editing your HTML or JavaScript does not change what someone has to prove.
Verification codes are single use, expire in 60 seconds, and are tied to the page that asked for them, so there is nothing worth intercepting or replaying.
Trusted domains, sign-in policy, session length and security rules all live in the dashboard. Tighten anything on a Friday without shipping code.
Unlock an account in one click instead of explaining a password reset over email. See who signed in, who needs help, and who has not been back, all from one simple dashboard.
dashboard.facelogon.comOne number decides your plan: how many successful sign-ins you have in a month.
A sign-in is one successful face check. Setting a face up the first time is free, and failed attempts are never counted. Go over your limit and we email you. Nothing switches off mid-month.
No. Nothing is kept that could be turned back into a face. No photographs, no face templates. Each sign-in works out a key from the live camera view and then discards it.
This matters for more than privacy. There is no store of faces to leak, so a breach of us does not expose your users.
Bad light, a new beard, a cracked camera. It happens. Every site sets a way through before going live: a code to their email, a handoff to your existing login, or a queue you approve by hand.
Nobody gets stuck, and you do not get the support email.
Not for the main sign-in, and we would rather say so up front. Both platforms run their own login and only let outside providers replace it on their enterprise plans.
FaceLogon works today on WordPress and WooCommerce, on custom-built sites, and anywhere else you control your own pages.
It depends what is behind the door. Face on its own is one factor and a determined lookalike is a real risk, so it suits saving preferences, members areas and loyalty perks.
For anything with money or personal records behind it, add a password. That gives you two factors and still asks your users for nothing about themselves.
Yes. Face data is treated as sensitive in most places, including Australia, the EU and several US states, so your privacy policy needs a line about it and your users need to agree before their first sign-in.
The widget asks for that agreement and records it. The wording is yours to edit in the dashboard, and our own privacy policy sets out exactly what happens to a face image.
You choose, and you can let your users choose too. Anything from thirty days to two years, counted from the last time they signed in.
When it lapses, their setup is deleted and they are simply invited to do it again next visit.
Stop losing customers at the login screen. 300 sign-ins a month, free, for as long as you like.
Try for free