ILI adds a universal cryptographic identity layer to the Internet. No passwords. No logins. Just your ed25519 keypair — and a signature on every request.
ILI lives between your application and HTTP — like TLS added privacy, ILI adds identity.
Three new headers turn every HTTP request into a cryptographically proven identity handshake.
GET https://example.app/api/data Host: example.app Content-Type: application/json // Who is this? // Could be anyone. // Could be a bot. // No way to know.
GET https://example.app/api/data Host: example.app Content-Type: application/json ILI-ID: did:ili:ed25519:9Wz... ILI-SIGN: a8d1f2e... ILI-TIME: 1741222210312 // Identity proven. // ed25519 verified. // Level 2 · Score: 480
Every identity starts anonymous. Attestations elevate the trust level — and what applications allow.
Consistent keypair identity. Rate limiting, reputation building, anti-bot — without any PII.
OTP via email. Unlocks: account creation, newsletters, communities.
SMS OTP. Unlocks: financial services, two-factor flows, marketplace trust.
KYC / government ID. Unlocks: regulated services, contracts, voting.
Business entity verification. Unlocks: B2B APIs, high-value transactions.
One line of code creates an ed25519 keypair. The public key becomes your ILI DID. The private key never leaves your device.
The SDK automatically adds ILI-ID, ILI-SIGN, and ILI-TIME headers to every fetch call. The signature binds your identity to the exact request.
Servers call /ili/verify or use the middleware. The CF edge validates the ed25519 signature, checks replay protection, and returns the verified identity.
Drop-in for browsers, Node.js, and Cloudflare Workers.
// Browser — CDN delivery <script src="https://ili-gateway.aalvarez351.workers.dev/sdk/v1/ili.js"></script> // Generate a passport (stored in localStorage) const passport = await ILI.generatePassport({ display_name: 'Alice' }) await passport.register() // Signed fetch — ILI headers added automatically const resp = await passport.fetch('https://api.example.com/data') // Or load saved passport next visit const p = ILI.loadPassport()
// Node.js 18+ import { ILI } from './sdk/ili-js.js' const passport = await ILI.generatePassport() await passport.register() // Sign request headers manually const headers = await passport.signRequest('POST', url, body) // Save passport to file import fs from 'fs' fs.writeFileSync('passport.json', passport.export())
// Express.js — server-side verification import { ILIVerifier } from './sdk/ili-js.js' const verifier = new ILIVerifier({ apiKey: 'ili_FREE_TEST_KEY_agentesia2026', minLevel: 1, // require email-verified minScore: 100, // minimum trust score }) // Middleware app.use('/api', verifier.middleware({ required: true })) // Access in route handler app.get('/api/profile', (req, res) => { const { ili_id, level, trust_score } = req.ili res.json({ user: ili_id, level }) })
// Cloudflare Workers — zero-latency edge verification import { ILIVerifier } from './sdk/ili-js.js' export default { async fetch(request, env) { const verifier = new ILIVerifier({ apiKey: env.ILI_API_KEY }) const { result } = await verifier.workerMiddleware(request) if (!result.verified) { return new Response('Identity required', { status: 401 }) } // result.ili_id, result.level, result.trust_score return new Response(`Hello ${result.ili_id} (Level ${result.level})`) } }
300+ PoPs globally. <1ms cold start.
Nonce deduplication. Per-identity. Strongly consistent.
Identity cache. 1h TTL. Global reads in <5ms.
Identity registry, attestations, audit log.
Native SubtleCrypto. 32-byte keys. 64-byte sigs. Zero dependencies.
Bot protection on billing. No CAPTCHAs for users.
ILI identity registration and verification are free forever. Pay only for attestation APIs and volume.
Be the first to integrate ILI into your app. Free forever plan.