Validiti Validiti
Available ShiftCAPTCHA · SKU 18 · Free, self-hosted

The CAPTCHA AI agents can't outpace.

Connect-the-dots visual challenge with combinatorial state shuffling between every move. Validates motor pattern, timing distribution, replay protection, and shuffle integrity in a sealed binary signed by the same trust anchor as every other Validiti SKU. Free, self-hosted, forever.

20%
Best bot pass rate
0%
Naive bot pass rate
5
Distribution shapes
0
Validiti hosted endpoints
↓ What it is

What ShiftCAPTCHA is

Three statements, no jargon.

01

A connect-the-dots visual CAPTCHA where the tile board reshuffles between every connection. Solving it requires both visual recognition and human-shaped motor patterns — AI agents that breeze past 2024-era CAPTCHAs trip on the second half.

02

Free for every customer, forever, no usage cap. You self-host. Validiti operates exactly one piece of infrastructure for this product: a public signed signature feed that ships bot-family patterns to every receiver.

03

Same engine, same trust anchor, same Titus runtime defense as every other Validiti SKU. ShiftCAPTCHA is the introduction; the other 17 SKUs are how the company makes money.

Pick a deployment shape

The same sealed engine in five wrappers. Pick whichever your stack already runs.

Docker

One pull, one port

Slim Python 3.13 base + tini + non-root + healthcheck + persistent volume. Multi-arch (amd64/arm64).

docker run -p 8080:8080 \
  ghcr.io/validiti/shiftcaptcha:latest
Helm

Production Kubernetes

Deployment + Service + Ingress + ConfigMap + PVC + ServiceAccount, tuned for read-only root + non-root user. Multi-replica supports a shared signing keypair.

helm install shiftcaptcha \
  oci://ghcr.io/validiti/shiftcaptcha
Standalone binary

Bare metal · VPS · on-prem

PyInstaller-packed single file. No Python install required on the host. Linux x86_64 + arm64 today; macOS shapes follow.

./shiftcaptcha
.deb · .rpm

Native package managers

Full systemd unit + nginx reverse-proxy snippet + conffiles preserved across upgrades. Drops the engine in /usr/lib/shiftcaptcha; state in /var/lib/shiftcaptcha.

apt install shiftcaptcha
# or
dnf install shiftcaptcha

Adversarial benchmark

2,000 trials per attacker class, three difficulties, run against the same sealed engine that ships in every shape above. We publish the worst number, not the best.

Attacker classWhat it doesPass rate (medium)
naive_linear2-point straight line, instant0.00%
bezier_no_noisesmooth bezier, no noise0.00%
wrong_ordercorrect paths, reversed order0.00%
replay_attackreuse previous submission against new shuffle0.00%
bartimaeus_basictypical bot library: bezier + Gaussian noise2.30%
bartimaeus_humanizedValiditi's own visual-attack engine, humanized20.30%
straight_segmentsknown gap: evenly-spaced points, realistic timing47.65%
The 47.65% is real. The validator weights timing realism more heavily than path-shape regularity, so a bot that produces straight paths with realistic inter-connection delays slips through. We publish it because the drift signature feed exists exactly for this: classes identified in adversarial testing become signed signatures on signatures.validiti.com/captcha/feed.jsonl and propagate to every customer instance within one poll interval. Open the full benchmark report →

Why this specifically is free

Three reasons. They're the same three reasons we charge for everything else.

01

Distribution. The other 17 SKUs need to reach developers. ShiftCAPTCHA is the path: a small, useful, well-built thing a developer will install on a Tuesday afternoon — and now Validiti is in the room.

02

Cost. There is no Validiti-hosted CAPTCHA endpoint. Customers run the package on their own hardware. The only Validiti-operated infrastructure is the drift signature feed: a static JSONL file behind nginx, bandwidth measured in kilobytes per signature. Operational cost rounds to zero.

03

Credibility. Maths, DMS, Titus, Knowledge, PCI, and the rest of the catalog already carry the technical proof. ShiftCAPTCHA inherits it; we don't need a paid CAPTCHA tier to convince anyone.

What's running inside

Every instance, every shape. The same trust chain Validiti's other SKUs ride on.

Boot sequence + per-request defense

  • Sealed engine binary. The challenge generator and validator are Cython-compiled into shift_captcha.cpython-...so, signed by the BIN-1..BIN-9 trust anchor (pubkey fingerprint 8c51880cd4..., the same key that signs every Validiti binary).
  • Seal verify on import. seal_verify.assert_sealed_binary() recomputes SHA-256, validates the Ed25519 signature, and confirms the embedded pubkey matches the manifest. Mismatch → process exits before the first request.
  • Titus integrity baseline. File-integrity baseline established at boot; per-request rate-limited re-verification. Tamper detection triggers os._exit in milliseconds; the container is recycled by the orchestrator before another request lands.
  • Per-instance Pacta keypair. Each deployment auto-generates its own audit-event signing keypair on first boot. Multi-replica deployments pre-mint a shared keypair so the audit chain stays coherent.
  • VSS verification log. Every verification result lands in a memory-mapped, segmented columnar log on the customer's disk — CRC integrity, append-only, retention configurable.
  • Drift signature feed. Public feed at signatures.validiti.com/captcha/feed.jsonl. Receivers verify each signature against the embedded BIN trust anchor, drop expired, apply the active set.
  • Provenance-shaped verdicts. Every verify returns one of VERIFIED_HUMAN / VERIFIED_BOT / PARTIAL / NO_SOURCE / EXPIRED / REPLAY — the same vocabulary Validiti Provenance uses for every other claim.