<!doctype html><htmllang=en-us><head><metacharset=utf-8><metahttp-equiv=x-ua-compatiblecontent="ie=edge"><metaname=viewportcontent="width=device-width,initial-scale=1,shrink-to-fit=no"><linkrel=preloadas=fonthref=/fonts/vendor/jost/jost-v4-latin-regular.woff2type=font/woff2crossorigin><linkrel=preloadas=fonthref=/fonts/vendor/jost/jost-v4-latin-700.woff2type=font/woff2crossorigin><linkrel=stylesheethref=/main.7a413a9a97a3360893a7e50ee5892da80e0f60349c21739810858ee555d5270e89e0c97966ba1460d57cb94acdf9f6b06e0c8dc2e4fca17a8b59c438b9200f3e.cssintegrity="sha512-ekE6mpejNgiTp+UO5YktqA4PYDScIXOYEIWO5VXVJw6J4Ml5ZroUYNV8uUrN+fawbgyNwuT8oXqLWcQ4uSAPPg=="crossorigin=anonymous><noscript><style>img.lazyload{display:none}</style></noscript><metaname=robotscontent="index, follow"><metaname=googlebotcontent="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><metaname=bingbotcontent="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"><title>Say hello to mCaptcha - mCaptcha</title><metaname=descriptioncontent="Introducing mCaptcha, a kickass CAPTCHA systems that gives (DDoS) attackers a run for their money. Oh and UX is great too!"><linkrel=canonicalhref=/blog/say-hello-to-mcaptcha/><metaname=twitter:cardcontent="summary_large_image"><metaname=twitter:imagecontent="/blog/say-hello-to-mcaptcha/icon.png"><metaname=twitter:titlecontent="Say hello to mCaptcha"><metaname=twitter:descriptioncontent="Introducing mCaptcha, a kickass CAPTCHA systems that gives (DDoS) attackers a run for their money. Oh and UX is great too!"><metaname=twitter:sitecontent="@"><metaname=twitter:creatorcontent="@"><metaproperty="og:title"content="Say hello to mCaptcha"><metaproperty="og:description"content="Introducing mCaptcha, a kickass CAPTCHA systems that gives (DDoS) attackers a run for their money. Oh and UX is great too!"><metaproperty="og:type"content="article"><metaproperty="og:url"content="/blog/say-hello-to-mcaptcha/"><metaproperty="og:image"content="/blog/say-hello-to-mcaptcha/icon.png"><metaproperty="article:published_time"content="2021-05-26T00:00:00+00:00"><metaproperty="article:modified_time"content="2021-12-02T10:25:42+05:30"><metaproperty="og:site_name"content="mCaptcha"><metaproperty="article:publisher"content="https://www.facebook.com/"><metaproperty="article:author"content="https://www.facebook.com/"><metaproperty="og:locale"content="en_US"><scripttype=application/ld+json>{"@context":"http://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"\/"},{"@type":"ListItem","position":2,"name":"Blogsay Hello to Mcaptcha","item":"\/blogsay-hello-to-mcaptcha\/"}]}</script><metaname=theme-colorcontent="#fff"><linkrel=apple-touch-iconsizes=180x180href=/apple-touch-icon.png><linkrel=icontype=image/pngsizes=32x32href=/favicon-32x32.png><linkrel=icontype=image/pngsizes=16x16href=/favicon-16x16.png><linkrel=manifesthref=/site.webmanifest></head><bodyclass="blog single"><divclass="header-bar fixed-top"></div><headerclass="navbar fixed-top navbar-expand-md navbar-light"><divclass=container><inputclass="menu-btn order-0"type=checkboxid=menu-btn>
<spanclass=toggle-dark><svgxmlns="http://www.w3.org/2000/svg"width="20"height="20"viewBox="0 0 24 24"fill="none"stroke="currentcolor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"class="feather feather-moon"><pathd="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg></span><spanclass=toggle-light><svgxmlns="http://www.w3.org/2000/svg"width="20"height="20"viewBox="0 0 24 24"fill="none"stroke="currentcolor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"class="feather feather-sun"><circlecx="12"cy="12"r="5"/><linex1="12"y1="1"x2="12"y2="3"/><linex1="12"y1="21"x2="12"y2="23"/><linex1="4.22"y1="4.22"x2="5.64"y2="5.64"/><linex1="18.36"y1="18.36"x2="19.78"y2="19.78"/><linex1="1"y1="12"x2="3"y2="12"/><linex1="21"y1="12"x2="23"y2="12"/><linex1="4.22"y1="19.78"x2="5.64"y2="18.36"/><linex1="18.36"y1="5.64"x2="19.78"y2="4.22"/></svg></span></button><ulclass="navbar-nav social-nav order-3 order-md-5"><liclass=nav-item><aclass=nav-linkhref=https://github.com/mCaptcha><svgxmlns="http://www.w3.org/2000/svg"width="20"height="20"viewBox="0 0 24 24"fill="none"stroke="currentcolor"stroke-width="2"stroke-linecap="round"stroke-linejoin="round"class="feather feather-github"><pathd="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37.0 00-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44.0 0020 4.77 5.07 5.07.0 0019.91 1S18.73.65 16 2.48a13.38 13.38.0 00-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07.0 005 4.77 5.44 5.44.0 003.5 8.55c0 5.42 3.3 6.61 6.44 7A3.37 3.37.0 009 18.13V22"/></svg><spanclass="ms-2 visually-hidden">GitHub</span></a></li></ul><divclass="collapse navbar-collapse order-4 order-md-1"><ulclass="navbar-nav main-nav me-auto order-5 order-md-2"><liclass="nav-item active"><aclass=nav-linkhref=/blog/>Blog</a></li><liclass=nav-item><aclass=nav-linkhref=/community/>Community</a></li><liclass=nav-item><aclass=nav-linkhref=/contact/>Contact</a></li><liclass=nav-item><aclass=nav-linkhref=/about/>About</a></li><liclass=nav-item><aclass=nav-linkhref=/docs/introduction/installing-captcha/>Docs</a></li></ul><divclass="break order-6 d-md-none"></div><formclass="navbar-form flex-grow-1 order-7 order-md-3"><inputid=userinputclass="form-control is-search"type=searchplaceholder="Search docs..."aria-label="Search docs..."autocomplete=off><divid=suggestionsclass="shadow bg-white rounded"></div></form></div></div></header><divclass="wrap container"role=document><divclass=content><divclass="row flex-xl-nowrap"><navclass="docs-toc d-none d-xl-block col-xl-3"aria-label="Secondary navigation"><divclass=page-links><h3>On this page</h3><navid=TableOfContents><ul><li><ahref=#how-does-it-work>How does it work?</a></li><li><ahref=#okay-but-what-about-bad-actors>Okay, but what about bad actors?</a></li><li><ahref=#why-use-mcaptcha>Why use mCaptcha?</a></li><li><ahref=#how-to-migrate>How to migrate?</a></li><li><ahref=#our-philosophy>Our Philosophy</a></li><li><ahref=#resources>Resources</a></li></ul></nav></div></nav><mainclass="docs-content col-lg-11 col-xl-9 mx-xl-auto"><article><divclass=blog-header><h1>Say hello to mCaptcha</h1><p><small>Posted May 26, 2021 by <aclass="stretched-link position-relative"href=/contributors/aravinth-manivannan/>Aravinth Manivannan</a> ‐ <strong>2 min read</strong></small><p><p><small>Last Edited December 2, 2021</small><p></div><pclass=lead>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?</p><p>At mCaptcha, we believe in digital freedom and privacy and so we built a
<ahref=https://en.wikipedia.org/wiki/Proof_of_work>proof-of-work</a> based
at the click of a button) and gets out of the way.</p><h2id=how-does-it-work>How does it work?</h2><p>mCaptcha uses SHA256 based proof-of-work(PoW) to rate limit users.</p><p>When a user wants to do something on an mCaptcha-protected website,</p><ol><li><p>they will have to generate proof-of-work(a bunch of math that will
takes time to compute) and submit it to mCaptcha.</p></li><li><p>We’ll validate the proof:</p></li></ol><ul><li>if validation is unsuccessful, they will be prevented from accessing
the destination website</li><li>if validation is successful, read on,</li></ul><olstart=3><li><p>They will be issued a token that should be submit along with the
request/form to the destination website.</p></li><li><p>The destination website validates the submitted token with
mCaptcha before processing the request.</p></li></ol><p>The whole process is automated from the user’s point of view. All they
have to do is click on a button to initiate the process.</p><h2id=okay-but-what-about-bad-actors>Okay, but what about bad actors?</h2><p>mCaptcha makes interacting with websites (computationally)expensive for
to their request.</p><h2id=why-use-mcaptcha>Why use mCaptcha?</h2><ul><li><strong>Free software, privacy focused</strong></li><li><strong>Seamless</strong> UX — No more annoying CAPTCHAs!</li><li><strong>IP address independent:</strong> your users are behind a NAT? We got you covered!</li><li><strong>Automatic bot throttling</strong></li><li><strong>Resistant to replay attacks:</strong> proof-of-work configurations have short lifetimes(30s) and can be used only once. If a user submits a PoW to an already used configuration or an expired one, their proof will be rejected.</li></ul><h2id=how-to-migrate>How to migrate?</h2><p>Our client libraries are mostly compatible with reCAPTCHA and hCaptcha.
A detailed guide will be published soon.</p><h2id=our-philosophy>Our Philosophy</h2><p>Man has has come so far only because our ancestors chose to