Building News Recommendations That Respect Reader Consent
Personalization is useful only when readers can understand it, control it, and turn it off. That principle shaped the recommendation experience we have been building for Informed Clearly.
The goal was simple: help people discover relevant reporting without turning the news product into a black box or an attention trap.
Start with reader intent, not invisible profiling
A recommendation system can collect almost anything. That does not mean it should. Our starting point was to use signals that are meaningful to the reading experience:
- topics the reader explicitly chooses;
- places the reader says they care about;
- stories they read, save, like, dislike, or mark as not relevant;
- language and presentation preferences;
- continuity signals such as what has changed since the reader's last visit.
We deliberately keep network-level and device-level guesses out of editorial preference logic. A location a reader chooses is useful. Inferring a location from an IP address is a different relationship with the reader.
Consent changes the product path
Consent should not be a banner that disappears while the same machinery keeps running. It should change what the product does.
When recommendation consent is off, the site can still show strong editorial choices and generally popular reporting. When it is on, the system can use the reader's saved preferences and activity to rank relevant stories. Anonymous visitors can receive recommendations too, but only through the same consent-aware path.
That gives us a clean rule: no consent means no personalized profile behavior.
Explanations are part of the interface
A recommendation without a reason can feel arbitrary. We therefore treat the explanation as part of the recommendation itself. A card can tell the reader that a story appears because it matches a preferred topic, relates to a place they follow, or continues something they read before.
This is not only a trust feature. It is also a debugging feature. If a reason looks wrong to a reader, it is often wrong in the data or ranking logic too. Visible explanations make quality problems easier to find.
Preserve editorial judgement
Personalization should help people navigate journalism, not replace the front page with a private reality. Editorially important stories retain their place, while recommendations create an additional route into the wider archive.
We also apply diversity rules so a reader is not shown six versions of the same subject. Relevance matters, but so do breadth, freshness, language, and avoiding duplicate stories.
Make continuity finite
Infinite feeds are excellent at producing motion and poor at producing closure. Our “since your last visit” experience is intentionally bounded. It shows a finite set of new or meaningfully updated stories and lets the reader mark themselves as caught up.
That creates a healthier product promise: catch up, understand what changed, and leave when you are done.
Design deletion from the start
A reader profile should not become permanent infrastructure simply because it is technically convenient. The same model that stores preferences and feedback also needs a clean deletion path. Account and anonymous reader data should be removable without leaving related recommendation state behind.
We document the reader's choices in our privacy policy, and we keep the product controls close to the recommendations rather than hiding them in a distant settings page.
What we learned
The difficult part of recommendations is not producing a score. It is defining the relationship between the system, the newsroom, and the reader.
The most useful design questions were:
- Can the reader tell why this story is here?
- Can they change the signals that produced it?
- Does turning consent off really change the behavior?
- Are important editorial stories still visible?
- Can the reader finish rather than scroll forever?
If those questions have good answers, the ranking model becomes easier to improve without losing the reader's trust.
Informed Clearly is available on the web and as an Android app.
