I Built a Zero-Knowledge Protocol to Prove a Human Typed This (Not a Bot) — Help Me Try to Break It A developer has built PoHI (Proof of Human Intent), a zero-knowledge protocol that distinguishes human typing from bot-generated text by measuring physical typing rhythm — dwell time, flight time, pause skew, and error correction patterns — without revealing raw keystroke data. The protocol uses a zk-SNARK to prove a behavioral score exceeds a threshold, and the developer is inviting the public to test and try to break it at pohi-protocol-poc.vercel.app. AI-generated text is no longer distinguishable from human text. That's not a hot take, it's a measurable fact at this point, and it quietly breaks a lot of the trust assumptions the internet runs on — messaging, marketplaces, escrow, forums. If you can no longer tell what was written by a bot, the obvious next question is: can you tell how it was written? That's the premise behind PoHI Proof of Human Intent , a protocol I've been building on my own: instead of analyzing text content, it measures the physical rhythm of typing — dwell time, flight time between keys, the skew of your pauses, how you correct mistakes — and proves, via a zero-knowledge SNARK, that the resulting score clears a threshold, without ever revealing the raw keystroke data. @pohi-protocol/core-math — the reference math engine implementing the behavioral equations skewness, cognitive-latency ratio, error-recalibration variance . 74 unit tests. circuits/ — a Circom circuit compiling to Groth16 over BN254, ~12,500 constraints, with a real multi-party trusted-setup ceremony tool. 21 tests checking it agrees numerically with the reference engine packages/sdk-web — the browser-side capture SDK. experiments/ — an adversarial evaluation harness with six attacker models, from "constant-delay macro" up to "an attacker with full knowledge of the scoring function trying to fake the rhythm."Everything is open: https://github.com/ProjectOne2020/pohi-protocol-poc https://github.com/ProjectOne2020/pohi-protocol-poc I'm not here to tell you this is unbreakable. It probably isn't, at least not yet. A zk-SNARK proves you know a witness satisfying the relation — it does not prove that witness came from an actual human hand. That's a real, documented gap I wrote it up in the threat model instead of hiding it — see docs/THREAT MODEL.md §5 https://github.com/ProjectOne2020/pohi-protocol-poc/blob/main/docs/THREAT MODEL.md , To test that, I need real human typing data — which is the actual ask here. 👉 https://pohi-protocol-poc.vercel.app https://pohi-protocol-poc.vercel.app You type a few short prompts, that's it. Available in English and Spanish. What gets recorded is only keystroke press/release timestamps in milliseconds and whether a key was Backspace — never the text itself. That's not just a privacy promise: the database schema itself has a constraint that rejects any record containing character data, so it holds even if someone tampers with the client. You can check that directly in experiments/schema.sql https://github.com/ProjectOne2020/pohi-protocol-poc/blob/main/experiments/schema.sql . If you're more interested in poking at the code than typing, I'd take that too — issues, PRs, "your fixed-point division is still wrong here" comments, all welcome. Especially if you can break the scoring. Repo: https://github.com/ProjectOne2020/pohi-protocol-poc https://github.com/ProjectOne2020/pohi-protocol-poc LinkedIn: https://www.linkedin.com/in/alejandro-guti%C3%A9rrez-9a0318107/ https://www.linkedin.com/in/alejandro-guti%C3%A9rrez-9a0318107/