# December, 2021: Monthly Report - mCaptcha
New features, improved accessibility and software integrations

# December, 2021: Monthly Report

Posted December 23, 2021 by Aravinth Manivannan ‐ 2 min read

Last Edited February 13, 2023

We are mCaptcha. We build kickass CAPTCHA systems that give (DDoS) attackers a run for their money. And we do all of this without tracking your users. Oh and did I mention our UX is great?

Hello and welcome to the first edition of the monthly report!

I believe free software like mCaptcha is critical to a healthy internet but being a one-person show, there’s hardly any accountability in the way software is built. I hope, through monthly reports, I can explain the logic and intentions behind decisions taken in the development process.

This month, the following things were accomplished:

## 1. Full LibreJS Compliance

The CAPTCHA widget and the admin dashboard are 100% LibreJS compliant!

LibreJS report of the dashboard webpage
LibreJS report of the CAPTCHA widget webpage

## 2. JavaScript PolyFill

mCaptcha relied on a WebAssembly(WASM) port of the proof-of-work algorithm used in mCaptcha. This meanth browsers without WASM support couldn’t process CAPTCHAs. This month, a pure JavaScript(TypeScript, technically) implementation was released to overcome this limitation.

## 3. Integration libraries for Vanilla JS, React and Svelte:

To make migration from existing CAPTCHA deployments to mCaptha, integration libraries for Vanilla JS, React Js and Svelte with similar APIs very similar to that of Google’s reCAPTCHA and Cloudflare’s hCaptcha.

- Source code: mCaptcha/glue

# 4. Beginner friendly CAPTCHA configuration options.

The original configuration panel offers a comprehensive but daunting task for folks that are justgetting started with mCaptcha.

CAPTCHA creation with advance configuration options

A new CAPTCHA creation format is rolled out which generates a configuration from familiar metrics like average, peak and traffic that took the user’s website down.

CAPTCHA creation with easy configuration options

Of course, the advance option is available and can always be swished to at any moment!

Edit this page on GitHub