Saltar al contenido
Mera News

Esta página solo está disponible en inglés.

Topics and the anonymous cache

Mera has to ask a server for news, and that request has to say something about what you want. Topics are how Mera keeps that to a minimum.

Facts and topics

A fact is something about you, such as where you live or that you're thinking about buying a home. Facts stay on your phone.

A topic is a short search phrase derived from your facts, such as "Amsterdam housing market". Topics are meant to be broad enough to describe many people. Your phone generates them, on the phone or in Private cloud, and keeps them in its local database.

Topic phrases do leave your phone. They're the one part of your interests that does, and they leave as plain text.

What a request carries

Each time your phone fetches news, it sends:

  • The text of each topic
  • Paging cursors and limits
  • Whether a topic is a followed story, which asks for stricter matching
  • Any countries you follow for top headlines

The request format has no field for your facts, your places, topic weights or a score. A topic phrase can still name a place, as "Amsterdam housing market" does. You can read the format in schema.gql.

The server answers with article identifiers. The followed-story flag applies to that one request and isn't stored.

What the cache is

The server keeps one entry for each distinct topic text.

PropertyHow it works
KeyThe topic text itself
OwnerNone. There is no user identifier or owner field
SharedOne entry serves everyone who asks for that text
LifetimeDeleted after 14 days with no request from anyone

Keeping the text means the next person with the same phrase gets an answer faster. For a followed story, an entry can also hold the names to match. Those describe the text, never who asked.

Deleting your account doesn't touch these entries, because nothing in them points to you. They expire on their own.

What this does and doesn't protect

Mera holds no record of which topics any account has, so there's no such list to hand over, sell or lose. The server still isn't blind:

  • Requests are authenticated. Your phone sends a session with each request, to apply your plan and limit abuse. So at the moment of a request, the server can see your account and your topics together. The design is that this pairing is never written down. The request also marks your account as active that day.
  • Text can say more than intended. Topics are meant to be broad, but they come from your facts. A very specific phrase could point to few people. Nothing on the server rewrites or rejects one.
  • Service providers process topic text. Topic text can go to providers that process it for matching. No user identifier, session or device identifier goes with it. See section 8 of the privacy policy.
  • The server code is private. You can read what the app sends, but you can't read what the server does with it. Publishing source wouldn't prove what runs on a server either.

Mera plans to restructure its services so that the news service receives topic text with no user identifier, session, device identifier or network address. That isn't built yet. See Known gaps.

Removing a topic

You control your topics in the app. Delete a fact and the topics that came from it go too, and the app stops requesting them. The server entry expires 14 days after the last request from anyone.