OpenPulse · Site information

Privacy notice

What OpenPulse collects, why it is used, and how long product analytics data is retained.

Last updated October 29, 2026

About this notice

OpenPulse is a public service for discovering GitHub repositories and viewing observed repository growth. You do not need an account to browse the public site.

This notice describes the current implementation. You can contact OpenPulse privately at [email protected]. OpenPulse has not identified a separate legal entity; the operator identity should be confirmed before relying on this notice as a complete legal disclosure.

Information used to run the service

When you search, the text you enter is sent to the OpenPulse API to find matching repositories. Search text is not included in product analytics events or stored in the product analytics tables. Technical service infrastructure may process request metadata while delivering the site.

OpenPulse retrieves public repository information from GitHub, including repository names, descriptions, topics, languages, star and fork counts, and available activity statistics. These data collection requests are made by the OpenPulse service. Public repository-owner avatars are loaded directly from GitHub by your browser as they become visible.

Product analytics and browser storage

Your display language preference is stored in this browser when you select a language. On your first visit, the site uses your browser’s preferred language if it is Chinese, and otherwise uses English.

The site stores random visitor and session identifiers in your browser’s local storage. The session identifier is replaced after 30 minutes of inactivity. The identifiers help estimate unique visitors and understand how the site is used; they are not account credentials.

The site sends limited first-party events to the OpenPulse API: page views, completed searches (result count and duration, not the search text), filter changes, repository opens, GitHub link clicks, share actions (open, cancel, copy, download or system handoff), the public project ID, card style and growth window for project shares, and coarse interface error categories. Shared captions and image contents are not stored in product analytics. For a session, OpenPulse may store only the external referrer hostname (not its path, query, or fragment), a country code supplied by Cloudflare when available, and broad device, browser, and operating-system categories inferred from the request. The full User-Agent string and raw IP address are not stored in product analytics. The hostname may be absent or shortened by the referring site or browser, so “No referrer provided” does not prove a direct visit. A country code is recorded only when Cloudflare supplies it in the request header.

The database stores SHA-256 hashes of the random visitor and session identifiers, along with event times, limited event properties, and the coarse session categories above. These hashes are pseudonymous identifiers and may link events from the same browser.

The public site does not load a third-party advertising or analytics SDK. If you open a GitHub link or choose another app in your device’s share sheet, that service will handle the resulting request under its own privacy notice.

Retention

By default, product analytics event details and session dimensions are configured for deletion after 30 days and daily event totals after 365 days; deployment settings can change these periods. The separate visitor-counter table stores a hashed visitor identifier and first-seen time and currently has no automatic expiry configured. Clearing local storage or using another browser creates a new browser identifier, so the visitor count is an estimate rather than a count of named people.

Service providers and network data

The public site is delivered through Cloudflare and the site’s hosting infrastructure. Those providers may process technical connection data, such as IP address, browser information, and request time, to deliver and protect the service. GitHub receives ordinary connection data when your browser loads an owner avatar or you follow a GitHub link. Avatar requests omit the referring page URL. Repository data collection is performed server to server by OpenPulse.

Your choices and requests

Use “Turn off analytics” in the site footer to stop future product-analytics submissions from this browser and remove its local analytics identifiers. This does not delete records already received by the service; those records follow the retention periods above. The preference is stored in this browser when storage is available; without browser storage, analytics is off by default and any opt-in lasts only for the current page session. For privacy requests, email [email protected]. Please do not post sensitive personal information in public GitHub issues.

Privacy rights and requirements depend on where you live and how the service is operated. The project still needs to publish an operator identity before it can provide a complete process for privacy requests.

Changes

This notice may be updated when the service or its data practices change. The date above identifies the latest revision.