Skip to content

France · {{periode}}

{{total}} pieces of content removed or restricted in France in {{jours}} days. {{part-cgu}} of them with no legal basis whatsoever — on the platform's decision alone.

Source: DSA transparency register · filed by the platforms themselves

{{part-cgu}}
removed under terms of service, not the law
removed on a legal basis — a state or court decision
{{plateformes}}
major platforms tracked, day by day
{{par-jour}}
removals per day on average, for France alone

The measure

Who removes what, in France

Every platform files its decisions with the European register. Here is what they filed for France over {{jours}} consecutive days. The right-hand column is the only one that really matters: it says whether the removal rests on a law, or on the platform's private rules.

Platform Removals Relative volume On its own rules

Who decides, behind each platform

These decisions do not come out of an anonymous machine: they belong to companies run by identifiable people. Roles and names are public, and we stop there — no personal judgement, no addresses, no individual accusations.

Platform Parent company Founders Current leadership

One platform has no chief executive at all

Since Linda Yaccarino resigned on 9 July 2025, X has had no chief executive. Elon Musk runs the platform directly — through xAI, which bought X in March 2025, then through SpaceX, which absorbed xAI in February 2026.

This is not an org-chart detail: it is the only one of the nine platforms whose moderation decisions answer to no executive leadership separate from the owner. It is also the only one whose code is public. The two facts belong side by side.

What these figures do not say

A large share of this volume concerns commerce — product listings pulled from marketplaces, far more than opinions. We track expression platforms here, but the word "removal" covers very different realities. We refuse to add up what is not comparable in order to reach a more impressive figure.

Where this code comes from

Elon Musk published X's algorithm. Here is what that changes.

Part of what we show here has only been possible for a few days, and for one platform only. So let us be precise about where this material comes from — and what it is worth.

Who, and what

xAI, Elon Musk's company which owns X, has published the code of the "For You" feed: how posts are selected, how they are ranked, and above all the rules that decide whether a message is shown, hidden or stripped of reach.

The repository is xai-org/x-algorithm, under the Apache 2.0 open licence — readable and reusable by anyone.

When, and where

13 August 2026: the visibility-filtering systems and the models that apply labels go online.
14 August 2026: the Brazilian election filter and the ranking parameters are added.

On GitHub, freely accessible, no account or permission required. That repository is what we read.

Why publish it? The answer is X's own

The justification fits in one sentence, taken from the repository itself, about the Brazilian filter: "A benefit of open-source is that you can see that changes like this exist" — and see exactly how they work.

In other words, X accepts that making the code readable makes it auditable. That is exactly what this site does. We are not misusing the release: we use it for what it was announced to be.

What to know before relying on it

It is not all the code. X admits holding some back: the instructions given to its Grok assistant, and certain anti-bot rules — to stop the system being gamed, it says.

Nothing proves this is the code that runs. An independent third-party audit was announced; it has not taken place. So we read what is published, not what is executed — and we say so every time we rely on it.

No other major platform has done the same. Meta, TikTok and YouTube file their removals with the European register but keep their code closed. That is why the comparison below can only be made on X — not because it is the worst, but because it is the only one that can be checked.

The anomaly

One platform is like no other

Of the nine platforms tracked, eight file close to 100% of their removals under their terms of service. One files 0%, every single day: X. In other words, X claims never to remove anything on its own initiative — only when the law compels it.

Yet its own code says otherwise

X has open-sourced its algorithm, so it can be read. The module that decides message visibility holds about 55 filtering rules. Of those 55, only 4 are grounded in law. The rest come from its own terms.

Its own documentation acknowledges applying "visibility-impacting labels", and even offers a tool so anyone can see those placed on their account.

Rules grounded in law
4
    Rules grounded in its own terms
    ≈ 51

      What we claim, and what we do not

      We observe a measured gap between what the published code applies and what the platform files. We do not characterise that gap: saying whether it amounts to a breach is for the regulator, not for us.

      Three caveats, which we publish alongside the result rather than after it: the published code is not proven identical to the one actually running — the third-party audit X announced has not happened. A badly filled filing may be negligence as much as omission. And we measure a sample, not the whole.

      And France?

      We searched the entire published code for any filtering aimed at France or the European Union. There is none. The repository's only geographic filter targets Brazil: 668 accounts excluded from recommendations, 665 of them with usernames readable in plain text — and it enforces a Brazilian legal obligation, not a platform decision.

      We say so because it is true, and because a movement that overstates gets disproved in one search. What happens in France is not a blacklist: it is a filing gap. Less spectacular, and verifiable.

      The origin

      Who asks for these removals? Nobody.

      We tend to picture moderation as a response: someone reports, the platform reviews, then removes. The register says the opposite. Every filing states its origin — and the result leaves little room for doubt.

      {{init-pct}}
      of removals are taken on the platform's initiative alone
      {{signal-pct}}
      follow a user report
      {{auto-pct}}
      were detected by a machine, not by a human

      The figure that counts is the two combined

      Taken separately, these figures are debatable. Together, they are not:

      Who triggers it On what basis Decisions Share

      {{croise-pct}} of removals combine both: nobody asked for them, and no law requires them. The platform searches, finds and decides, on its own rules.

      By contrast, only {{croise-rare}} — out of {{total}} — combines a user report with a legal basis.

      « Hors CGU » ou « conforme aux CGU » : la case existe, personne ne la coche

      The register provides for a decisive detail: when content is removed under terms of service, the platform may state whether it was also illegal, or perfectly lawful. That is the difference between removing an offence and removing lawful speech that displeases.

      Out of {{illegal-tot}} French removals grounded in terms of service, that box is empty {{illegal-n}} times — that is {{illegal-vide}}. Most platforms never fill it in.

      So we cannot claim this content was lawful: the platforms do not say. What can be said is that no law required its removal, and that the one field which would settle it stays empty.

      Each platform has its own method

      Platform Decisions On its own initiative Machine-detected

      And what is being watched?

      Protecting someone, or silencing someone?

      Not every removal is an attack on free expression, and pretending otherwise would be dishonest. Removing a scam, self-harm content or an image of a child protects a real person. Removing speech because it is inconvenient is something else. Both acts carry the same name and are counted in the same register — so let us separate them.

      And in practice, what happens to the content?

      "Removal" covers very different acts: deleting a message, closing an account, or simply making it less visible without telling anyone. The register specifies which — here, subject by subject, is what is actually applied.

      Each bar reads as 100% of that subject's decisions. Hover a segment for detail.

      The real problem is not that moderation happens. It is that we cannot know what.

      In {{proteger-pct}} of cases the filed category matches tangible protection: scams, violence, self-harm, minors, personal data. We do not contest those removals, and no serious movement should.

      {{parole-pct}} explicitly concern civic discourse and elections — the heart of democratic debate. {{gris-pct}} fall into a grey area, "illegal or harmful speech", which covers insult as readily as strong opinion.

      And {{flou-pct}} — the majority — are filed under "other violation of terms", a box that says nothing. There is no way to know whether they protected someone or silenced someone.

      That is where the scandal lies: not in the volume, but in the impossibility of telling them apart. Moderation that protects has no reason to hide behind an empty box.

      The reasons

      "Why was my content removed?"

      European law requires platforms to give reasons for every decision. We read those reasons. Across {{motifs-total}} French decisions there are only {{motifs-nb}} distinct texts. One sentence therefore serves tens of thousands of times.

      {{gabarits-pct}}
      of reasons contain technical field names instead of an explanation
      {{parole-pct}}
      explicitly concern civic discourse and elections
      0
      content viewable: the register publishes reasons, never the content itself

      A third of the reasons are templates never filled in

      Here, word for word, is what {{gabarit-n}} people received as an explanation in France:

      {{gabarit-texte}}

      The words in capitals are internal variable names. The template was never filled in. This text stands in for a legal statement of reasons.

      This practice is not universal. {{meta-noms}} run at 100% unfilled templates, while {{zero-noms}} produce none.

      Had something removed? Paste the message you received.

      We will tell you how many people received exactly the same text in France. Nothing is stored: the text is compared, then forgotten.

      The most-used reasons

      Part Reason sent to the people concerned Platforms

      Going further — members only

      The table above shows the twelve most frequent reasons. Club members get the full explorer: all {{motifs-couples}} recorded wordings, filterable by platform, with CSV export to reuse, check and quote them.

      Join the club and open the explorer →

      Method

      How we count

      A measurement that cannot be reproduced is worthless. Here is exactly what we do, so anyone can redo it and prove us wrong.

      1. The source. The DSA transparency register, kept by the European Commission. It does not hold EU data: it holds the platforms' own filings, which they are legally required to submit. The Commission collects and republishes them, without verifying them.
      2. The download. The daily archives are public and freely available. They weigh between 1 and 4 GB per day. We read slices spread across the whole of each archive rather than pulling everything down.
      3. The France filter. We keep only filings whose territorial scope mentions France.
      4. The count. For each platform we separate removals grounded in law from those grounded in its terms of service. That is the only distinction we care about.
      5. The comparison. Where a platform's code is public, we compare what it applies with what the platform files. To date X is the only very large platform whose code is available — so the only one that can be checked this way.

      Our limits, not hidden

        Register: transparency.dsa.ec.europa.eu
        Legal basis: Regulation (EU) 2022/2065 (DSA), Article 24(5)
        Code analysed: github.com/xai-org/x-algorithm — Apache 2.0 licence
        Period measured: 10 au 16 août 2026

        The club

        To measure is already to resist

        We stand for a simple idea, the very one behind the opening of X's code: a platform that decides what gets seen must be auditable. The Radar is the tool for that audit. The club is the people who keep it running.

        Our independence is not negotiable

        We welcome the release of X's code, and we use it — including against X, whose filings, as shown above, do not match its own code. Sharing a goal is not owing anyone. We check everyone, without exception and without favour.

        What the card opens up

        • The full explorer — every wording platforms send to the people whose content they remove, filterable by platform.
        • CSV export — to take our figures, recompute them, quote them, or contradict us. A figure that cannot be checked is worth nothing.
        • The historical series — measurements accumulate day after day. Members see the trend, not just the snapshot.
        • Strength in numbers — a figure published by one person is ignored. Published on behalf of thousands of members, it carries weight.

        Membership is free, with no payment and no commitment, and is subject to approval: the club is built member by member. Once approved, you receive a cryptographically signed membership card — verifiable by anyone, even if our servers vanish. That link is also your club space: no account, no password, and it is where the explorer, the export, and the access request to OSIRIS — our members-only watch on the world — all open from.

        Request my membership card

        Your political opinions are sensitive data. We ask only for what is strictly necessary, hosting is European, and you can erase your membership in one click from your card. A refused request is erased: we keep no register of people we did not accept.

        Le Radar
        Membre fondateur Adhérent·e depuis 08 / 2026
        000 001

        ◗ signature Ed25519 — vérifiable hors ligne