Telemetry & Privacy Architecture
Developers and visitors value privacy above all else. GitAscii Pro was designed from the ground up on the principle of Data Minimization and Zero PII Storage. Unlike traditional analytics tools that track users across websites using cookies, fingerprinting, or permanent IP tables, GitAscii Pro operates exclusively through stateless in-memory extraction and ephemeral daily rotating salts.1. How GitHub README Requests Work
When a user visits your GitHub profile, their browser loads the README markdown containing your GitAscii SVG image:camo.githubusercontent.com).
2. Cryptographic Anonymization Pipeline
The Ephemeral Daily Salt
To count unique visitors without retaining personal identifiers, GitAscii generates a daily cryptographic salt derived from the server’s session secret and the current UTC date:The Anonymized Visitor Hash
When an incoming HTTP request hits the API, GitAscii computes a one-way 16-character visitor token:
[!IMPORTANT]
Why Cross-Day Tracking is Mathematically Impossible:
Because the DailySalt changes every 24 hours UTC, a visitor who accesses your profile on Monday generates a completely different token on Tuesday. It is mathematically impossible to correlate visits across multiple days or across multiple profile owners.
3. Unique Visitor Estimation via HyperLogLog ()
To calculate unique visitors over time ranges (e.g. 7 days, 30 days, or 90 days), GitAscii uses Redis HyperLogLog registers (PFADD / PFCOUNT).
What is HyperLogLog?
HyperLogLog is an advanced probabilistic cardinality estimator:- Constant Memory Footprint: Each HyperLogLog key consumes at most 12 KB of memory, regardless of whether you have 10 views or 10,000,000 views.
- High Accuracy: Provides a standard error rate of (typically ).
- Arbitrary Date Range Merging: Multiple daily HyperLogLog keys are combined on-the-fly (
PFCOUNT hll:2026-08-01 hll:2026-08-02 ...) without retaining individual visitor logs.
4. Referrer & Metadata Sanitization
Web browsers send aReferer header indicating where the image was loaded. To protect visitor privacy while still giving you useful traffic insights:
- Query Stripping: All URL query parameters (
?utm_source=...,?token=...), URL fragments (#section), and subpaths are permanently stripped. - Domain Normalization: Hostnames are categorized into clean, coarse channels:
github.comGitHubgoogle.*Google Searchx.com,twitter.com,t.coX / Twitterlinkedin.comLinkedInreddit.comRedditdev.to,hashnode.*Dev Community- Direct requests with no referrer Direct / GitHub README
5. GitHub Camo Proxy Detection & Transparency
GitHub routes external README images through an anonymizing proxy called GitHub Camo to prevent IP leakage between third-party servers and GitHub users. GitAscii explicitly detects and tags Camo proxy requests via HTTP headers:via: ... github-camooruser-agent: ... github-camo- Camo requests are marked in your dashboard as
GitHub Camo Proxyso you understand why browser/device granularity may be grouped into GitHub’s cloud infrastructure. - Direct visits (e.g., from personal portfolio sites, embeds, or local testing) preserve full browser and OS breakdown.