Skip to content

Cabin Analytics Documentation

Cabin is a privacy-first, carbon-conscious web analytics solution. It's lightweight, compliant with all privacy laws, and the ideal cookieless alternative to Google Analytics.

No cookies

No cookies or consent banners

Faster and lighter

Faster, lighter, and 100% green energy

No ad networks

No data sharing or ad networks

Privacy

Compliant with GDPR, CCPA, and more

This documentation is available in English, Français and Deutsch.

Privacy by Design

Cabin is built from the ground up using Privacy by Design principles. We never store unique identifiers for your visitors, and our non-relational data structure makes it impossible to identify individuals based on their location, browser, OS, or language.

We don't sell or share any data with third parties or ad networks. Your visitors' data remains private and useless to advertising platforms.

Environmental Responsibility

Sustainability is a core principle at Cabin. Our script is 77× smaller than Google Analytics, saving terabytes of data transfer monthly, compared with Google - while delivering all essential features.

We run on 100% renewable energy with custom-built, resource-efficient software that maintains high performance on low-energy servers. This approach minimizes our carbon footprint while handling billions of pageviews.

We also commit a percentage of our revenue to carbon removal projects.

Data Collection

The Cabin script sends minimal data points, with additional information inferred from the user-agent and request headers.

Sent by script

js
{
    r: 'google.com',            // referrer
    w: 2560,                    // screen width
    p: 'https://example.com/',  // path
    t: 255,                     // load time (ms)
    u: 0,                       // # of visits to the domain
    up: 0                       // # of visits to the page
}

Inferred from the request

Data pointExample
Timestamp1627589208201
Sourcesocial
CountryGB
Browserchrome
Devicemobile
OSiOS
Languageen
Bouncefalse
utm_sourceinstagram
utm_campaignsummer_sale
utm_mediumpaid_social

Unique Visitors Without Cookies

How does Cabin determine unique visitors without storing identifiers?

We've developed an innovative method for detecting unique visitors without relying on identifiers, IP addresses, or fingerprinting. Our approach is both accurate and privacy-preserving:

When a visitor interacts with Cabin, the request is cached in their browser like any standard web resource. We set a last-modified header in the response to the start of the current day. On subsequent requests, the browser automatically sends this header back to check if the request is still valid. Cabin then increments the last-modified time by one second with each visit.

By calculating the difference between the last-modified time and the day's start, we can determine the number of visits without storing any personal data. The first request indicates a unique visit, while subsequent requests help us track metrics like bounce rate.

You can read more about this on our blog:
How Cabin measures unique visitors without cookies.

Visitor Geolocation

Every web request includes an IP address. Cabin converts this address in transit (within server memory only) to an ISO country code with no further location detail. We store only the country code—the IP address is immediately discarded and never logged.

Released under the MIT License.