Skip to content
Heedeo

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:

  1. The JavaScript agent on your pages: one script tag from https://heedeo.dev, or createHeedeo({ publishableKey }) from the package. No route and no DNS.
  2. One identify() call in the browser at the action.
  3. One server call at the action: POST /v1/evaluations, by heedeo.evaluate() where you want the answer or heedeo.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). The API’s base URL is https://app.heedeo.com, and server calls send authorization: Bearer sk_.... The Quick start has both, with a one-line check of your key.

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 toRead
add Heedeo to a Node.js or Next.js app with the packageThe package quickstart: five steps, then come back here for the detail.
add it with a script tag and one HTTP call, in any languageQuick start, then One server call.
stop ad blockers and Safari from hiding visitorsServe Heedeo from your own domain.
cover a single-page app, a hosted sign-in or social sign-inCall Heedeo on every signup path and the section after it.
know what each field and reason meansThe fields to act on and Reasons and default weights.
choose between refusing, verifying and holding for reviewDecide and What a caught signup meets.
check your rule before real people meet itTest your rule.
go liveThe quickstart’s Before you go live, and For your privacy policy.
hear when a flag or a person changesWebhooks.
delete a person’s dataDeleting a person.