<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>not.bot blog</title>
  <subtitle>Notes from the team building not.bot.</subtitle>
  <link href="https://not.bot/blog/feed.xml" rel="self" />
  <link href="https://not.bot/blog/" />
  <id>https://not.bot/blog/</id>
  <updated>2026-08-26T00:00:00Z</updated>
  <author><name>Julia Social, Inc.</name></author>
  <entry>
    <title>not.bot Verify is available</title>
    <link href="https://not.bot/blog/notbot-verify-is-available/" />
    <id>https://not.bot/blog/notbot-verify-is-available/</id>
    <published>2026-08-26T00:00:00Z</published>
    <updated>2026-08-26T00:00:00Z</updated>
    <author><name>not.bot</name></author>
    <summary>Verify lets your site tell a human from a bot, check an age threshold, and recognize a returning human, without collecting personal information about them and without data leaving your infrastructure.</summary>
    <category term="Verify" />
    <category term="Launch" />
    <content type="html">&lt;p&gt;Your site cannot tell whether the person using an account is human. A
document-and-selfie check at signup establishes who opened the account. It says
nothing about who is using that account a month later, after the credentials
have been shared, sold, or taken over.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;/verify/&quot;&gt;not.bot Verify&lt;/a&gt; checks at every login instead of once at signup, with
about as much friction as ordinary MFA. It answers three questions for your
site: is this a human, does this human meet an age threshold, and have you seen
this human here before. It answers them without collecting personal information
about the person behind the account.&lt;/p&gt;
&lt;h2 id=&quot;site-passes-recognize-a-returning-human&quot;&gt;Site Passes recognize a returning human&lt;a class=&quot;heading-anchor&quot; href=&quot;#site-passes-recognize-a-returning-human&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;visually-hidden&quot;&gt;Permalink to Site Passes recognize a returning human&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Until now your site had no reliable way to tell that two accounts belong to one
person. A Site Pass is a unique identifier for one human on one site, and
building it gathers no identity information about them. That person can come
back later under a different alias, and the Site Pass still identifies them as
the same human.&lt;/p&gt;
&lt;h2 id=&quot;age-checks-that-gather-nothing-else&quot;&gt;Age checks that gather nothing else&lt;a class=&quot;heading-anchor&quot; href=&quot;#age-checks-that-gather-nothing-else&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;visually-hidden&quot;&gt;Permalink to Age checks that gather nothing else&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Legislators are writing age-verification requirements into law, and social
platforms have to enforce them. Most age-checking products answer the question
by collecting a large amount of information about the person first.&lt;/p&gt;
&lt;p&gt;Julia Social collects no personal information about your users, and no
biometrics. Your site can check an age threshold at every login without
gathering anything else about them.&lt;/p&gt;
&lt;p&gt;The Meta settlement announced this week puts a clock on this. Meta agreed to pay
up to $18 billion to settle child-safety claims brought by 48 state attorneys
general, and to strengthen how it checks the ages of its users. The rest of the
industry has an incentive to move too: roughly $5.3 billion of that total is
contingent on TikTok and YouTube adopting similar limits. Verify lets a site
meet an age requirement without taking on a pile of personal data to protect.&lt;/p&gt;
&lt;h2 id=&quot;it-runs-in-your-infrastructure&quot;&gt;It runs in your infrastructure&lt;a class=&quot;heading-anchor&quot; href=&quot;#it-runs-in-your-infrastructure&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;visually-hidden&quot;&gt;Permalink to It runs in your infrastructure&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The &lt;a href=&quot;https://github.com/julia-social/julia_web_sdk&quot;&gt;Verify SDK&lt;/a&gt; is open source,
and Verify runs inside your own environment. No data about which users your site
interacts with ever leaves that environment.&lt;/p&gt;
&lt;p&gt;Your instance keeps working if our servers slow down or go offline, and you take
a new version when it suits you rather than when we ship one. To install it fast,
point your coding agent at the docs.&lt;/p&gt;
&lt;h2 id=&quot;see-it-work&quot;&gt;See it work&lt;a class=&quot;heading-anchor&quot; href=&quot;#see-it-work&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;visually-hidden&quot;&gt;Permalink to See it work&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Try the &lt;a href=&quot;/sdk-demo/&quot;&gt;live demo&lt;/a&gt;, or watch the pre-recorded walkthrough beside it.&lt;/p&gt;
&lt;h2 id=&quot;compare-us-to-the-alternatives&quot;&gt;Compare us to the alternatives&lt;a class=&quot;heading-anchor&quot; href=&quot;#compare-us-to-the-alternatives&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;visually-hidden&quot;&gt;Permalink to Compare us to the alternatives&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We publish an &lt;a href=&quot;/learn/evaluation-framework/&quot;&gt;evaluation framework&lt;/a&gt;: criteria for
judging any human-verification product, ours included. Point an LLM at it and ask
it to compare not.bot against World ID, Self Protocol, hCaptcha, reCAPTCHA, Yoti,
Persona, Stripe Identity, and Apple and Google ID.&lt;/p&gt;
&lt;h2 id=&quot;where-to-go-next&quot;&gt;Where to go next&lt;a class=&quot;heading-anchor&quot; href=&quot;#where-to-go-next&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;visually-hidden&quot;&gt;Permalink to Where to go next&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;/learn/human-verification/&quot;&gt;What Verify does and how it works&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/technology/#verify-docs&quot;&gt;Install instructions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/learn/&quot;&gt;Learn about not.bot&lt;/a&gt;, or take the deep dive into &lt;a href=&quot;/technology/&quot;&gt;the technology&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For Chia developers, the on-chain protocol is open-source
&lt;a href=&quot;https://github.com/julia-social/julia_did_chialisp&quot;&gt;Chialisp&lt;/a&gt;, described in
&lt;a href=&quot;/technology/#protocol&quot;&gt;the protocol documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you would rather work through this with an LLM, we keep
&lt;a href=&quot;/learn/#for-llms&quot;&gt;machine-readable resources&lt;/a&gt; for that. Every document has a
Markdown twin: append &lt;code&gt;.md&lt;/code&gt; to its URL. &lt;code&gt;llms.txt&lt;/code&gt; lists the corpus, and
&lt;code&gt;llms-full.txt&lt;/code&gt; carries all of it in one file, close to a megabyte of it.&lt;/p&gt;
</content>
  </entry>
</feed>
