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.

fio.js V2.1 Released with Age Verification & Minors Access Restriction

The FACEIO Development Team is thrilled to announce the immediate availability of fio.js V2.1, our cutting-edge Facial Recognition Web Framework with groundbreaking new features with the goal of enhancing security and compliance for your applications.

Over the past few months, we have developed an innovative age verification security option that prevents minors from on-boarding on your application, ensuring your sensitive services remain accessible only to the appropriate age groups.

FACEIO Landing Page

Enhanced Security with Minors Access Prevention 🛡️

Prevent Minors From Enrolling

When activated, this powerful security feature diligently screens and identifies users' age during the on-boarding process, and thus will forbid minors less than 18 years old from enrolling on your application with the fioErrCode.MINORS_NOT_ALLOWED error code being raised if a minor try to on-board on your application, reinforcing your compliance and security measures. This highly requested security feature is immediately available to trigger from the FACEIO Console. Please refer to the updated boilerplate integration code to see this feature in action.

Comply with Jurisdictional Regulations 📜

If your application is offering sensitive services or operating in jurisdictions such as the UK and certain US states that strictly prohibit minors from accessing such services, this security feature is mandatory & invaluable tool for you. By activating it, you can seamlessly align with legal requirements and ensure that only eligible users gain access to your platform.

PAS 1296:2018 Compliance & Age Verification Check

We understand the criticality of meeting industry standards and regulations. That's why we are excited to inform you that PixLab Insight, the default Facial Recognition Engine for FACEIO, is ready to fulfill the PAS 1296:2018 code of practice for online age verification accredited by the UK's Age Check Certification Scheme (ACCS). Our technology guarantees robust age verification capabilities, bolstering your compliance efforts.

Experience the Future of Secure Facial Recognition ✨

At FACEIO, we are committed to providing you with state-of-the-art tools to safeguard your applications and users. The introduction of Minors Access Restriction adds an extra layer of security, giving you peace of mind and enabling you to cater to the right audience for your services.

To explore this exciting new feature and integrate it into your application, simply connect to the FACEIO Console, and activate this option from the Security Tab of your Application Manager. Our comprehensive documentation will guide you through the activation process and assist you in optimizing the functionality for your unique requirements.

24/7 Support & Integration Assistance

We would be thrilled to assist you in implementing the Minors Access Prevention Security Feature or answer any questions you may have. Reach out to our dedicated support team via the FACEIO Console or the Community Forum. Our experts are ready to provide you with top-notch assistance and help you unlock the full potential of FACEIO.

Embrace the power of age verification and elevate the security standards of your FACEIO application. Join us on this exciting journey as we revolutionize facial recognition technology together!

Stay secure, stay compliant, and stay ahead with FACEIO!

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.

fio.js V1.9 Released with Face Duplication Prevention

FACEIO Logo

The PixLab development team is pleased to announce the immediate availability of FACEIO's fio.js V 1.9. A major release which implements highly requested features from our customers including but not limited to:

  • Face Duplication (same user enrolling twice or more) Prevention.
  • Dynamic Session Reloading without Page Refreshing.
  • Faster facial features collection during enrollment.
  • Upto 1.3x faster facial authentication operation.
  • French, Japanese, Vietnamese & Dutch new language packs.

As usual, this update is transparent to our end users & fio.js implementers, and no action is required on your side if you link directly the library from the FACEIO CDN.

Face Duplication Prevention:

Face Duplication Prevention

When enabled, this option shall prevent the same user from enrolling twice or more on your application. That is, if the facial features of the user being enrolled are already recorded, the enroll operation is aborted, and the fioErrCode.FACE_DUPLICATION error code is raised to your host application instead. This option is immediately available to trigger from the FACEIO Console. Please refer to the updated boilerplate code to see this feature in action.

When this option is disabled (default case), it is considered, a no-error operation for the same user to enroll twice or more on your application. This will trigger a collision, and ask the user to confirm his PIN code whenever an authentication operation occurs with the user in question.

Session Reloading without Page Refreshing:

The introduced restartSession() method let you purge the current user session and request a new one. By default, sessions in FACEIO starts following the first call to the enroll() or authenticate() method whichever comes first, and are immutable. After successful call to this method, the old session is discarded, a new one is created, and you can perform another round of calls to enroll() or authenticate() for the same user without reloading (refreshing) the entire HTML page or relying on an external JavaScript function such as location.reload() to do so.

Please note that dynamic session generation via this method are available to the Premium Plans only. Think of upgrading your Freemium application from the FACEIO Console first before calling this method on your frontend

Finally, for additional information & to learn more about implementing FACEIO on your website or web application, please refer to the following documents:

  • Getting Started Tutorial: Learn the fundamentals about implementing facial authentication on a typical web application.
  • Integration Guide: Learn how to implement fio.js, our facial recognition library on your website.
  • Developer Center: Code samples, documentation, support channels, and all the resources yo need to implement FACEIO on your website.
  • Frequently Asked Questions: Get instant answers to the most common questions.
  • Trust Center: Learn how we handle your data securely and in compliance with privacy and legal requirements.