Introducing fio.js 3.0: A Quantum Leap in Facial Authentication UX & Performance

FACEIO Landing

At FACEIO, we believe that security shouldn't come at the cost of user experience. Today, we are thrilled to announce the immediate availability of fio.js 3.0, a massive overhaul of our client-side facial authentication widget.

This update isn't just a patch; it is a complete reimagining of how users interact with biometric security in the browser. We’ve rebuilt the rendering engine, polished the UI to a mirror shine, and hardened our security heuristics—all while handing more control back to developers.

Here is what’s new in version 3.0.

1. Intelligent Visual Guidance & Responsive UX

The days of ambiguous, static loading screens are over. We have introduced a new Smart Focus System designed to guide users intuitively.

  • Active Engagement: If a user looks away or the face isn't clearly visible, the interface gently transitions into a "Searching" mode to signal that the system is active but waiting for input.
  • Dynamic Feedback: A smooth, animated scanning effect cycles through calming colors (Green, Cyan, Sky Blue, and Orange) to guide the user's attention back to the camera frame without being startling.
  • Modern Visual Cues: We’ve replaced standard bounding boxes with stylish Neon Tech Brackets that glow and change color to provide instant, clear feedback on proximity and recognition status.

2. Enhanced User Freedom: The showAbortBtn Parameter

We understand that sometimes, a user might start an enrollment process and decide to stop halfway through. To improve user agency, we've introduced the showAbortBtn parameter.

  • Total Control: By setting showAbortBtn: true in your enroll() configuration, you can choose to make the close (X) button visible throughout the entire interaction.
  • Graceful Exit: If a user clicks this button, the operation terminates immediately, and the Promise is rejected with the specific fioErrCode.ABORTED_BY_USER (Error Code documented here).
  • Better Flow: This allows your application to handle voluntary cancellations distinctively from timeouts or network errors, enabling smooth UI transitions back to your main app.

3. Glassmorphism & Typography Overhaul

The UI has received a significant facelift to match modern design trends:

  • Glassmorphism Notifications: Status messages (like "Move Closer" or "Look at Camera") now float in elegant, semi-transparent glass bubbles with neon accents.
  • Crisp Typography: We've standardized on the Montserrat font family for all canvas elements, ensuring legibility and a consistent brand look across devices.
  • Haptic Feedback: On supported mobile devices, users now feel a subtle vibration when interacting with the PIN pad, adding a tactile layer to the digital experience.

4. 60 FPS Buttery Smooth Rendering

We have completely decoupled the Detection Logic from the Rendering Loop.

  • Throttled Detection: Heavy WASM (WebAssembly) detection now runs at an optimized ~25 FPS to save CPU cycles.
  • High-Speed UI: The visual interface renders at a native 60 FPS.
  • The Result: No more lag or stuttering, even on older mobile devices. The video feed remains fluid while the AI does the heavy lifting in the background.

5. Smart "Virtual Camera" Detection

Security is paramount. fio.js 3.0 introduces a new Heuristic Scoring System to detect presentation attacks. It analyzes frame rate patterns, and driver behaviors to block virtual cameras attempting to spoof the system, without penalizing legitimate users who have complex audio/video setups.

Coming Soon: Background Face Filtering

We are already working on the next big leap: Intelligent Multi-Face Filtering.

In busy environments (offices, coffee shops), people walking in the background often trigger "Multiple Faces Detected" errors. The upcoming update will feature a smart depth-and-focus filter that ignores background passersby and locks exclusively onto the active user in the foreground. Stay tuned!

Get Started

The new update is live and automatically available to all users pointing to our CDN. You don't need to change a single line of code to benefit from the performance upgrades, though we recommend exploring the new parameters to tailor the UX to your needs.

There has never been a better time to add facial authentication to your web application. Try out fio.js 3.0 today and give your users the secure, seamless experience they deserve.

FACEIO Platform Update: Enhanced Passwordless Authentication & Attendance Monitoring for Businesses via Face Recognition

We’re excited to announce the new major release of FACEIO, the world’s easiest-to-integrate Facial Recognition SDK for web and mobile applications. Whether you're a developer building secure apps, a small business owner wanting frictionless login, or managing employee attendance, We have exciting updates, and FACEIO is the perfect solution for your use case.

FACEIO Landing Page

This release brings enhanced passwordless login, real-time liveness detection, accurate age verification, and enterprise-grade on-premises biometric authentication.

Why FACEIO?

FACEIO lets you authenticate users using just their face—no passwords, OTPs, or captchas. Built with privacy and simplicity in mind, it’s ideal for:

  • Web-based facial recognition login
  • Biometric authentication for websites and apps
  • Employee attendance tracking
  • Online age verification with face
  • Liveness detection and deepfake prevention

Now, with this release, FACEIO is even more powerful and secure.

What’s New in This Release?

✅ Liveness Detection API

Prevent spoofing and ensure every face is a real, live user. Our new liveness detection API uses motion, blink, and 3D cues to stop deepfakes and printed-photo attacks in real time.

✅ Age Verification SDK

Need to restrict content or features by age? Our age verification SDK instantly classifies users as minors or adults based on facial features, perfect for e-commerce, gaming, and community platforms.

✅ Improved Developer SDK

  • New JavaScript SDK (@faceio/fiojs) is lighter and faster, and available via NPM.
  • Simplified enrollment & authentication methods: fio.enroll() and fio.authenticate()
  • Full documentation with live demos and examples

📘 Get started quickly with our Integration Guide
→ Or jump straight into the Getting Started Page

Built for Security & Privacy

FACEIO is designed from the ground up with privacy-first principles and strong data protection in mind. No images are stored, only encrypted facial hashes. We meet global compliance standards and offer full transparency on our security architecture.

🔐 Explore our Security Best Practices
🔍 Learn more about Privacy & App Best Practices

Join the FACEIO Developer Community

Need help, feedback, or want to share your project? Join other developers and FACEIO users in our growing Community Forum where we discuss integration tips, use cases, and updates.

⚡ Ready to Go Passwordless?

Integrate biometric face authentication into your web app in under 5 minutes with just a few lines of code.

✅ Lightweight SDK
✅ Secure facial login
✅ Age and fraud detection
✅ Real-time liveness checks
✅ On-premise deployment options for enterprises

Start now with the FACEIO Getting Started Guide →

FACEIO — the secure, developer-first solution for online face login, biometric authentication, and passwordless access.

Resolving Liveness Detection with FACEIO's Advanced AI Models

Liveness detection is a critical component in biometric security systems, ensuring that the face being scanned is from a live person rather than a photograph, video, or mask. FACEIO, a leader in facial authentication technology, addresses these challenges with its advanced AI models. This blog post explores how FACEIO resolves liveness detection issues, leveraging sophisticated algorithms and security practices.

FACEIO Landing page

What is Liveness Detection?

Liveness detection is a security feature used in facial recognition systems to verify that the scanned face is from a live individual. It prevents spoofing attacks by detecting natural facial movements and responses. Various techniques employed in liveness detection include:

  • Motion Analysis: Detects natural movements such as blinking and head movements.
  • Texture Analysis: Differentiates between the texture of live skin and that of a photograph or screen.
  • Challenge-Response: Prompts the user to perform actions like blinking or smiling to prove liveness.

Implementing Liveness Detection with FACEIO

FACEIO provides an easy-to-integrate solution for facial authentication with built-in liveness detection. Here is a step-by-step guide to activate liveness detection on your FACEIO Application:

  1. Setting Up FACEIO:

  2. Integrating FACEIO SDK:

  3. Initializing FACEIO:

  4. Implementing Liveness Detection:

    • Activate Face Anti-Spoofing first by connecting to the FACEIO Console, then Navigate to the SECURITY tab from the manager main view. Once the target application selected. Activate the Protect Against Deep-Fakes & Face Spoof Attempts security option as shown below:

      async function performLivenessCheck() {
       try {
           const response = await faceio.authenticate({ action: "liveness-check" });
           if (response.livenessScore > 0.9) {
               console.log("User authenticated successfully");
           } else {
               console.warn("Liveness check failed");
           }
       } catch (error) {
           console.error("Liveness check failed", error);
       }
      }
      

Advanced Security Features of FACEIO

FACEIO's commitment to security extends beyond basic liveness detection. Here are some of the advanced features that enhance its security:

  • Multifactor Authentication (MFA): Combine facial recognition with other authentication methods for added security.
  • Customizable User Prompts: Tailor instructions and prompts shown to users during the liveness check.
  • Analytics and Reporting: Access detailed reports on authentication attempts to monitor and improve system performance.

Best Practices for Secure Implementation

FACEIO provides several security best practices to ensure robust protection against spoofing and other security threats:

  • Reject Weak PIN Codes: Ensure users create strong PIN codes during enrollment.
  • Prevent Duplicate Enrollment: Avoid multiple enrollments by the same user.
  • Protect Against Deepfakes: Use liveness detection to counteract spoofing attempts.
  • Forbid Minors: Prevent minors from enrolling in the application.
  • Always Ask for PIN Code: Require PIN code confirmation during authentication for added security.
  • Enforce PIN Code Uniqueness: Ensure each user's PIN code is unique.
  • Ignore Obscured Faces: Reject partially masked or poorly lit faces.
  • Reject Missing HTTP Headers: Prevent requests without proper origin or referer headers.
  • Restrict Domain and Country: Limit widget instantiation to specific domains and countries.
  • Enable Webhooks: Use webhooks for real-time updates on user interactions.

Conclusion

Integrating FACEIO for liveness detection and facial authentication in JavaScript significantly enhances digital security. Its robust API and user-friendly JavaScript library make it easy for developers to implement biometric authentication, preventing spoofing and unauthorized access. FACEIO's advanced features and best practices ensure both security and user experience are prioritized, making it a valuable addition to any web application's defense against modern threats.

For more information, visit the FACEIO website.


Published in: Level Up Coding

Webhooks Enhancements & Performance Improvements

FACEIO Landing Page

Starting with the major release of fio.js 1.9, FACEIO Webhooks have been rebuilt from the ground up to improve latency and provide new functionality like payload field inclusion which is available starting from the Business Plan, and up.

Webhooks allows you to receive data and get notified at real-time about the ongoing events during the interaction of the FACEIO Widget with your users (eg. New user enrollment or authentication) in-order to keep your application backend up-to-date & synchronized. FACEIO uses Webhooks to let your system know when such events happen. Events includes New User Enrollment, Facial Authentication Success, Facial ID Deletion, and many other events.

When an event occurs, FACEIO makes an HTTP POST request to the URL you configured for the Webhook. FACEIO’s request includes details of the ongoing event such as the Unique Facial ID of the user being enrolled or authenticated, its gender & age in case of new enrollment, timestamps, event type, IP information, linked payload, and many others details.

Enabling Webhooks

Registering your Webhook endpoint URL for receiving events for your FACEIO application is straightforward as shown in the detailed steps below:

  1. Connect to your account via the FACEIO Console first.
  2. From the console main view, visit the Application Manager.
  3. Select the target application for which you want to setup webhooks for.
  4. Navigate to the WEBHOOKS tab from the manager main view.
  5. Once the target application selected. Enter your Webhook Endpoint URL for receiving events and save your modification.
  6. You're all set. Upon an event is triggered, FACEIO shall make an HTTP POST request to the URL you configured for the Webhook with the appropriate fields.

Major Enhancements

Starting with the 1.9 release, here are the quick highlights, with more details in the Webhooks page dedicated documentation:

  • Faster notifications.
  • JSON Based POST Requests.
  • IPv6 Support.
  • Payload Field Inclusion.
  • HTTP1.1/2 Protocol Support.
  • Full Support for TLS 1.3 Requests.

FACEIO - Facial Authentication Framework Officially Launched

PixLab is delighted to announce the immediate availability of FACEIO, our web-based, facial authentication framework developed from scratch here at PixLab in the past few years.

Introducing FACEIO - Facial Authentication for the Web

The TLDR;

FACEIO is a cross-browser, facial authentication framework that can be implemented on any website via simple JavaScript snippet to easily authenticate users via Face Recognition instead of the traditional login/password pair or OTP code.

You can start implementing FACEIO on your website or web-based application immediately by following our getting started guide here.

The Developer Intro

FACEIO is a cross-browser, Cloud & On-Premise deployable, facial authentication framework, with a client-side JavaScript library (fio.js) that integrates seamlessly with any website or web application desiring to offer secure facial recognition experience to their users.

Put it simply, FACEIO is the easiest way to add passwordless authentication to web based applications. Simply implement fio.js on your website, and you will be able to instantly authenticate your existing users, and enroll new ones via Face Recognition using their computer Webcam or smartphone frontal camera on their favorite browser.

Once fio.js implemented on your website, you'll be able to instantly recognize your existing users, on-board new members securely with maximum convenience, and at real-time thanks to passwordless experience powered by face recognition.

FACEIO works with regular Webcams or smartphones frontal camera on all modern browsers, does not require biometric sensors to be available on the client side, and works seemingly with all websites and web-based applications regardless of the underlying front-end JavaScript framework or server-side language or technology.

Features

  • Authenticates and confirms identity of users instantly without FIDO keys, OTP codes, or security questions.
  • Full cross-browser compatibility (Chrome, Firefox, Safari, Edge & Chromium derivatives).
  • Zero external dependency. Only standard technology implemented in plain JavaScript & CSS.
  • Defense grade accuracy with less than 100 milliseconds recognition speed powered by state-of-the-art facial recognition engines.
  • Highest security standards. Privacy by design with maximum user convenience. No requirements for biometric sensor.

Adding FACEIO to your website

Enroll New User

Implementing FACEIO on your website or webapp is straightforward. Before so, you need to create a new application first on the FACEIO Console, and link this resource to your website or web application. The checklist below highlights the steps to follow for a smooth integration of fio.js on your site:

  1. Create a new FACEIO application first: Follow the Application Wizard on the FACEIO Console to create your first application and link it to your website or web application.
  2. The Application Wizard should automate the creation process for you. Usually, this involve inputting an application name, selecting a facial recognition engine, cloud storage region, reviewing security options, customizing the Widget layout, and so forth... FACEIO Application Wizard
  3. Once your first FACEIO application created, simply implement fio.js, our facial recognition JavaScript library on your website, and initialize the library with your application Public ID.
  4. Congratulations 👏. You have FACEIO up & running! Now, it's time to enroll() and authenticate() your first user via face recognition. Refer to the HTML Integration Boilerplate on how to do so...

Some Links to Get Started

It’s super quick to implement FACEIO, and get it up & running on your website or web application. The following tutorials, and guides should help you get started with FACEIO: