NTK TESTNET · MAINNET

privacy Near the keyboard

Privacy

NTK is a phone keyboard that measures how you type, so that you can prove you typed a text by hand. Here is what it measures, what it sends and when, and who can see what. Updated 14 November 2026.

In short

What the keyboard measures

For each key tap: which key it was, when your finger touched down and when it lifted, and where on the key it landed (the offset from the key's centre). From these the enclave learns how long you hold each key, how fast you move from one key to the next, and where your finger tends to land.

What leaves the phone, and when

One typing session, when you tap Enroll or Sign. The keyboard seals it on the phone to a key that exists only inside the NTK enclave, and sends it through our relay to the enclave on NEAR OutLayer. Nothing else is sent. No text leaves the phone except inside that sealed session.

When the typing matches, the enclave signs a stamp. The stamped text itself is never published, only its hash.

Your typing fingerprint

The enclave folds your sessions into a fingerprint: running averages and spreads per key and per pair of keys. It keeps the fingerprint sealed in its storage on NEAR OutLayer and does not keep the sessions. No one can read the fingerprint: not us, not OutLayer, not you. The app only ever gets counts and scores back.

Typing rhythm is biometric data. That is why the app asks you to agree to the terms and this notice before it measures anything, on its first screen.

Deleting it

Delete my fingerprint in the app calls the enclave's forget operation, which deletes your fingerprint. Stamps you already made stay public; they hold no typing. The key the app uses can be removed in your wallet at any time.

What the relay sees

The relay pays for calls to the enclave, so the app needs no payment key. It sees account names, the operation (enroll, stamp, status, forget), times and sizes, never the contents of a session: those are sealed. OutLayer's API sees the same.

What a published stamp contains

Your NEAR account, the hash of the stamped text, how many characters and key taps it covers, the match scores, the time and the id of the OutLayer call that issued it. Anyone can read a stamp by its id. Because it names your account, posting a stamped text links that account to the post.

Stamp buttons in other apps

If you switch it on, an accessibility service reads the text on your screen, on the phone only, to find NTK tags and put a button on them. Nothing leaves the phone until you tap a button. The tap opens the verify page with the text in the address fragment (the part after #), which browsers do not send to servers.

This website

The verify page sends only the stamp id, to OutLayer's public storage, to fetch the stamp. The text you check stays in your browser.

The login page asks your own wallet (Meteor or Intear) to add the app's key to your account. Like every NEAR access key, that key is public on chain. The page asks a public NEAR RPC whether the key is there and sends nothing else; it keeps your wallet connection in this browser so that you can log in again.

ntk.tools runs on the project's server behind Cloudflare. Both log requests (address, time, page), as most websites do. The site sets no cookies of its own and has no analytics or ads.

Networks, and contact

NTK is a hackathon project. It runs on NEAR testnet by default, and on NEAR mainnet if you choose it in the app. Each network keeps its own fingerprints and stamps. Questions and requests: github.com/sgraphics/nearthekeyboard.