lemma.id enforcement demo

Bot defense should punish abusive humans, not whole networks.

Follow the steps below — verify once, prove human on two demo sites, then block or revoke at the human-proof layer.

This demo shows the core lemma.id enforcement loop: one human proof produces different private IDs for different sites. A site can block its own PPID without affecting other sites.

Wipes the master human proof + all site-derived IDs from this browser and signals customer sites to drop cached sessions.
1

Verify once

Unlock the browser wallet, then try the quick QR demo or create a real lemma.id.

lemma.id status CHECKING
Quick demo

Try with your phone

Opens the same popup shell as production, with a Demo tag and a QR code inside. Scan with your phone — no Didit, expires in about 15 minutes.

Join Lemma

Create my lemma.id

Run the full identity check and store a reusable human proof — the master credential every site-private ID is derived from.

Try the demo popup to explore the flow, or create a real lemma.id when you are ready to join.

2

Prove human on customer sites

Open a demo site and click the protected action, or verify from this page.

Ticketing drop

Reserve tickets behind a human check.

Site ID
Reason
Latency
Open ticketing site

SaaS free trial

Start a trial without another CAPTCHA.

Site ID
Reason
Latency
Open trials site

Same human, different site-private IDs

Ticketing
Verify both sites
Trials
3

Respond to abuse

Block one site, confirm the other stays human.

Site block

Ticketing only — trials should stay human.

Expected: tickets denied

Server enforcement: —

Scoped check

Confirm trials still passes.

Trials should remain human

Popup & redirect UI preview

Open static screens from /wallet/ishuman-idv to review copy and layout. Full viewer: /demo/ishuman/idv-viewer

Developer details

From IP bans to human accountability

Current bot defense

  • Ban IPs, ISPs, VPNs, and regions.
  • Real users caught in the blast radius.
  • Attackers rotate infrastructure.

With Lemma

  • Block site-private human proofs.
  • Require fresh verification.

Integration snippet

A human verdict, site-scoped private ID, and reason — no passport or cross-site user ID.

<script src="https://lemma.id/sdk/ishuman-verifier.js"></script> const result = await new IsHumanVerifier({ siteId: 'tickets-demo.lemma.id', autoProvision: true, }).verify(); // { human, ppid, reason, timeMs }

Last verify: —

Operator console

{}