Privacy & Data Use
The Indie Algorithm is designed to recommend content without building user profiles on a server, without accounts, and without tracking across the web.
What data is stored in your browser
Your browser stores a small preference profile using localStorage.
This data never leaves your device except when used transiently to calculate recommendations.
- Which posts you have read
- Which topics appear frequently in what you read
- Which authors or sites you tend to read
Why this matters: This allows personalization without accounts, logins, or central user databases.
What data is stored on the server
The server stores only anonymous, aggregated statistics that cannot be linked to individuals.
- Total read counts per post
- Co-occurrence counts (posts read together)
- Derived weights used for recommendation quality
No IP addresses, user agents, fingerprints, or personal identifiers are stored.
Why this matters: Global learning improves recommendations for everyone while avoiding personal tracking.
Session identifiers
A short-lived, random session ID is stored in a cookie to connect actions within a single visit.
- Not tied to an account
- Not reused across browsers
- Not used for advertising or tracking
Session data is discarded after learning is merged into anonymous aggregates.
How recommendations are generated
Each recommendation is scored using multiple signals:
- Recency (newer posts are slightly favored)
- Posts related to what you read recently
- Anonymous popularity across readers
- Exploration to avoid filter bubbles
You can always inspect why a specific post is recommended using the “Why am I seeing this?” explanation on each card.
Your control
You remain in control of your data at all times:
- You can clear preferences at any time
- You can export your preference data
- You can disable personalization by clearing storage
Why this matters: Personalization should be transparent, reversible, and optional.
What this project is not
- No ads
- No behavioral profiling
- No cross-site tracking
- No selling of data
- No dark patterns
In short
Personalization happens primarily in your browser.
The server learns only anonymous patterns.
You can see, inspect, export, or delete everything.
Technical Appendix (for the curious)
This section provides a precise description of how data flows through the system. It is optional reading and intended for technically inclined users.
Client-side (your browser)
-
Preferences are stored using
localStorage - Stored data includes post IDs, topic keywords, and author counts
- This data is sent to the server only as input for scoring and is not persisted there
Session layer
-
A random session ID is stored in a cookie (
INDIE_SESSION) - Session data exists only in server memory
- It is used to connect actions during a single visit
Global learning
- The server stores only aggregate statistics (e.g. read counts, co-occurrences)
- These aggregates contain no user identifiers or timelines
- Data is periodically written to disk to survive restarts
Recommendation scoring
- Each post receives a score composed of multiple weighted signals
- Signals include recency, related reads, and global popularity
- Every contribution is exposed via “Why am I seeing this?”
Design goal: The system favors transparency and resilience over opaque optimization.