Integrating Heedeo
Heedeo tells you who is behind an action:
- Who the person is across their browsers: the visitor, one id however many browsers they use.
- What that person already did with you, kept 13 months, so a second trial is a repeat with no table on your side.
- How suspicious this action is: how many emails and accounts the person has shown you, and what the email and network look like.
It returns signals; your code decides. You need three things:
- The JavaScript agent on your pages: one script tag from
https://heedeo.dev, orcreateHeedeo({ publishableKey })from the package. No route and no DNS. - One
identify()call in the browser at the action. - One server call at the action:
POST /v1/evaluations, byheedeo.evaluate()where you want the answer orheedeo.logEvent()where you only record it.
Then serve Heedeo from your own domain before you go live, from the Domains page: the Cloudflare proxy integration, your own server, or a custom subdomain (section 2).
Heedeo’s address is https://app.heedeo.com (called HEEDEO below). Sign up for a workspace. The workspace is named from your email’s domain; rename it under Settings. You get two keys:
- A public API key
pk_...(the publishable key): it goes in the script tag. - A secret API key
sk_...: server only, never in the browser.
The examples read them from NEXT_PUBLIC_HEEDEO_KEY and HEEDEO_SECRET_KEY (in Next, .env.local).
This guide is long, and you will not need all of it. Each section is also its own page: section 5 is https://app.heedeo.com/docs/integration/5.md, and Connect your app is connect.md. /llms.txt lists every page with its size and what it holds. Find your place:
| You want to | Read |
|---|---|
| add Heedeo to a Node.js or Next.js app with the package | The package quickstart: five steps, then come back here for the detail. |
| add it with a script tag and one HTTP call, in any language | Quick start, then One server call. |
| stop ad blockers and Safari from hiding visitors | Serve Heedeo from your own domain. |
| cover a single-page app, a hosted sign-in or social sign-in | Call Heedeo on every signup path and the section after it. |
| know what each field and reason means | The fields to act on and Reasons and default weights. |
| choose between refusing, verifying and holding for review | Decide and What a caught signup meets. |
| check your rule before real people meet it | Test your rule. |
| go live | The quickstart’s Before you go live, and For your privacy policy. |
| hear when a flag or a person changes | Webhooks. |
| delete a person’s data | Deleting a person. |