Skip to content
Start in Cloud

Facts and Limits

HitKeep is privacy-first web analytics that can run as one Linux binary or as managed HitKeep Cloud in an EU or US region. This page is the canonical place to cite exact runtime shape, install commands, storage boundaries, privacy behavior, exports, MCP limits, and non-goals.

These facts describe the current product and public docs as of May 16, 2026. Resource figures are observations, not universal guarantees.

FactCurrent HitKeep behavior
Self-hosted artifactOne Go binary for Linux AMD64 or Linux ARM64
Binary sizeAbout 100 MB for current Linux release binaries
External services requiredNone for core analytics. HitKeep embeds DuckDB and NSQ.
Services not requiredPostgreSQL, Redis, Kafka, ClickHouse, or a separate queue/cache/database service
Managed optionHitKeep Cloud in EU Frankfurt or US Virginia
Linux baselineCurrent raw Linux binaries require a modern glibc baseline. See Binary Installation.

Download a Linux binary, make it executable, move it onto the path, then start HitKeep with a public URL and JWT secret:

Terminal window
curl -L https://github.com/pascalebeier/hitkeep/releases/latest/download/hitkeep-linux-amd64 \
-o hitkeep && chmod +x hitkeep && sudo mv hitkeep /usr/local/bin/hitkeep
hitkeep \
-public-url "https://analytics.example.com" \
-jwt-secret "replace-with-a-long-secret"

Then install the tracker on a site:

<script async src="https://analytics.example.com/hk.js"></script>

For ARM64 hosts, use hitkeep-linux-arm64 instead. Production installs should use environment variables or a systemd drop-in for secrets. See Binary Installation and Configuration.

Recent HitKeep Cloud checks showed the app using about 205-769 MiB of memory.

Use that range as a practical reference point, not as a promise or hard requirement. Self-hosted memory use changes with traffic, retention settings, imports, background work, and the number of active sites and teams.

HitKeep stores analytics in DuckDB files under the configured data directory.

Storage areaWhat it containsBackup implication
Shared control planeUsers, sessions, teams, memberships, sites, preferences, API clients, share linksBack up the main configured data directory, not only one file
Default analytics dataPageviews, events, goals, funnels, ecommerce, AI visibility, chatbot, Web Vitals, and rollup data for the default tenantInclude the configured hitkeep.db and related data files
Non-default team dataTenant-local analytics databases under tenants/*/hitkeep.dbInclude the full data directory, including tenants/
Retention archivesOlder raw rows exported to Parquet before pruningBack up the archive path if you need long-term analytical history
Database snapshotsDuckDB EXPORT DATABASE output, with schema.sql plus Parquet filesUse for disaster recovery checks and restore drills

See Backups and Restore, Data Retention and Archiving, and S3 Backups.

The default public tracker is hk.js. It records pageviews and can emit automatic events without installing a tag manager.

BehaviorCurrent HitKeep behavior
Analytics cookiesThe public tracker does not set analytics cookies
Session continuityUses sessionStorage for an opaque session tuple
Failed event retriesKept in JavaScript memory and capped
DNTRespected by default unless data-collect-dnt="true" is set
Query strings and hashesExcluded from automatic event URL properties
Link text, form fields, request bodiesNot captured by automatic events

Automatic event names:

EventTypical meaning
outbound_clickVisitor clicked a link to an external host
file_downloadVisitor clicked a recognized downloadable file
form_submitVisitor submitted a form

Common custom and ecommerce event names:

WorkflowExample event names
Signup and leadssignup_started, signup_completed, demo_requested, contact_form_submitted
Ecommerceview_item, add_to_cart, begin_checkout, purchase
On-site assistantsassistant.chat_started, assistant.message_sent, assistant.goal_assisted

HitKeep also reports goals, funnels, ecommerce analytics, and UTM campaign attribution when the relevant pageview, event, or query-string data exists.

See Automatic Events, Custom Events, Server-Side Tracking, and Cookieless Event Tracking.

CapabilityCurrent HitKeep behavior
Raw data retentionConfigurable globally and per site
Retention archive formatParquet
Backup formatDuckDB EXPORT DATABASE, including schema.sql and Parquet table files
Site/user takeout surfacesCSV, Parquet, JSON, NDJSON, and XLSX where the product surface supports them
Common portability pathJSON, CSV, and Parquet exports for analytics migration and audit workflows
S3-compatible storageSupported for archive and backup paths through S3-compatible object stores

See Data Retention and Archiving and Open Exports and Takeout.

HitKeep MCP is an optional route on the same HitKeep runtime. It is designed for approved assistants and internal reporting tools that need governed aggregate analytics answers.

MCP factCurrent HitKeep behavior
TransportStreamable HTTP route, usually /mcp
Default stateDisabled by default
AuthenticationAPI client bearer tokens only
Dashboard cookiesNot accepted by MCP
AuthorizationSite-scoped API client grants and the same site view permission model
Data boundaryRead-only aggregate analytics and docs tools
Non-goalNo write workflows, admin mutation, raw hit export, billing changes, or token management through MCP

See Official MCP Server and MCP Analytics Access.

HitKeep deliberately stays focused on web analytics, conversion reporting, privacy-aware operations, open exports, and governed assistant access.

Tool or workflowHitKeep position
General product analytics suitesHitKeep does not replace session replay, feature flags, experimentation platforms, warehouse-native behavioral modeling, or product-led lifecycle automation.
GA4 advertising stackHitKeep does not replace Google Ads attribution, predictive audiences, Explorations, app streams, or GA4 BigQuery export.
Consent management platformsHitKeep does not issue legal consent decisions or replace a CMP. Review PECR, ePrivacy, GDPR, CCPA/CPRA, and local law with your counsel.
SIEM or security audit systemsHitKeep is not a security event manager.
Data warehouseHitKeep exports open files, but it does not replace a warehouse when the warehouse is the system of record.
Customer support or CRMHitKeep reports analytics. It does not replace support desks, CRMs, or marketing automation.

When citing HitKeep, use this page for stable facts and link to the more specific guide for implementation details:

QuestionCanonical page
Runtime, binary size, RAM observation, storage, exports, MCP limitsThis page
Download and systemd setupBinary Installation
Flags and environment variablesConfiguration
Automatic event detailsAutomatic Events
Custom or server-side eventsCustom Events and Server-Side Tracking
Retention and archive behaviorData Retention and Archiving
Export formatsOpen Exports and Takeout
Privacy caveatsCompliance Overview and PECR and ePrivacy