Get started
Sign up, connect a site, see your first request.
Sign up, connect your site, and confirm your traffic appears in the log.
1. Sign up
- Go to dashboard.d3.com.
- Enter your email, click Email me a sign-in code, and enter the six-digit code we send you.
- Create your organization, or accept an invite to a teammate's.
2. Create an API key
Skip this step if you point your nameservers at DNA. That install needs no key for traffic; the domain identifies you. To change its records from a script, you need a key with DNS access: see the API.
- In the dashboard, open API keys. Owners and admins can create keys.
- Enter a key name, such as
vercel-production, choose when it expires, and click Create key. - Copy the key and store it in your platform's secret store.
- The key list shows each key's first 12 and last 4 characters, so you can match a key in a config to one in the list.
- A key belongs to your organization, and only your organization sees the traffic it logs.
- A revoked key stops working everywhere within about two minutes.
3. Connect your site
After you create your organization, the dashboard asks for your site's address, looks it up, and recommends one of these installs.
| Install | Runs | Setup |
|---|---|---|
| Point your nameservers at DNA | In front of your site; no package, deploy, or key | Change two nameservers at your registrar |
| Add the DNA middleware: Vercel | Middleware in your request path | npm install, one middleware.ts, two environment variables |
| Add the DNA middleware: Cloudflare | A small worker in your Cloudflare account, before your origin | One line in your Worker, a deploy button, or another install |
| Add the DNA middleware: nginx | A Lua script in your nginx | One script and a config line per location |
- Nameservers: DNA runs the domain's DNS, editable in the dashboard or through the API.
- Vercel: already have a
middleware.ts? See Existing middleware. - Cloudflare: do it yourself, or book a setup and we do it with you.
4. Watch the first request land
-
Deploy. On the nameserver install, wait for the domain to show Connected instead.
-
Send a request to your site:
curl https://your-site.example/ -
In the dashboard, open Requests. The request appears within moments, labelled No name.
No name is expected for curl: it doesn't say who it is. Every request to your site is now checked; give it a day to see which agents visit.
Get help
Stuck, or on another platform? Talk to us.