Getting started

Concepts

The vocabulary Vector 5 uses everywhere: sites, actors, visitor hashes, rollups, manifests, and insights.

If you only read one page besides the quick start, read this. Every dashboard filter, API query, and MCP tool uses the same nouns.

Site

A site is a hostname you register in the dashboard (example.com). The tracker's data-domain and the middleware's domain must match it. Events for unknown domains are rejected with 404 unknown site.

Event vs hit

`POST /api/event``POST /api/hit`
Senderv5.js in the browserServer middleware
JavaScript executed?Yes — jsExecuted = trueNo
Typical actorhuman, human_via_aiai_crawler, ai_agent, bot
PayloadURL, referrer, UTMs, screen, propsmethod, path, status, UA, referer, IP

Actor

A deterministic label on every row. Classification happens in Go (apps/api/internal/classify) from user-agent, referrer, UTM, and whether JS ran. See Actors.

Visitor hash

formula
visitor_hash = SHA-256(daily_salt || site_id || ip || user_agent)

The salt rotates at 00:00 UTC per site. After hashing, the IP is dropped. A visitor who returns tomorrow is counted as new. That is intentional. Visitor hash.

Rollups

Raw events are partitioned by month. The dashboard and MCP never scan them for charts — they read hourly and daily rollups computed inside the API process. No extra workers. Insights and anomaly flags are generated from rollups only. ADR 0002 and ADR 0005.

Collection manifest

Every site publishes a machine-readable JSON document at /api/sites/{domain}/manifest. It states what is collected, what is not, how uniques work, and the retention window. Anyone — including an auditor or an agent — can fetch it without auth. Manifest.

Insights

Optional. Configure a provider per team (PATCH /api/team/llm): Ollama (llama3.2 by default), an OpenAI-compatible endpoint, Anthropic, or Gemini. The model receives period totals, crawler counts, and crawl→referral pairs — never event rows. Every derived number is labelled observed or inferred.

Something off? Open an issue · Edit on GitHub