Skip to content
· Rudy · Technologie

X legt zijn algoritme bloot: zo kun je zelf zien hoe berichten worden gefilterd

X legt zijn algoritme bloot: zo kun je zelf zien hoe berichten worden gefilterd

Sociale media bepalen voor een belangrijk deel welke informatie wij dagelijks te zien krijgen. We openen een app, scrollen door een tijdlijn en krijgen honderden berichten voorgeschoteld. Maar waarom zien we juist die berichten? En misschien nog belangrijker: welke berichten krijgen we níét te zien?

Bij de meeste grote sociale netwerken blijft het antwoord grotendeels verborgen achter gesloten algoritmen. X, het voormalige Twitter, kiest onder eigenaar Elon Musk voor een andere aanpak. Een belangrijk deel van de software achter de zogenoemde For You-feed is als open-sourcecode gepubliceerd.

Op 13 en 14 augustus 2026 werd die openbare code bovendien flink uitgebreid. Daardoor kunnen ontwikkelaars en onderzoekers niet alleen bekijken hoe X berichten aanbeveelt, maar ook welke systemen invloed hebben op de zichtbaarheid van berichten.

En juist dat laatste maakt deze release bijzonder interessant.

Van aanbevelingsalgoritme naar visibility filtering

Een aanbevelingsalgoritme heeft grofweg twee taken.

De eerste is bepalen welke berichten mogelijk interessant voor je zijn. X verzamelt daarvoor onder andere berichten van accounts die je volgt en berichten van accounts die je niet volgt, maar die volgens het systeem mogelijk aansluiten bij je interesses.

Vervolgens moeten die kandidaten worden gerangschikt.

Daarvoor gebruikt X onder andere een systeem genaamd Phoenix. Dat model kijkt naar recent gedrag van een gebruiker en probeert te voorspellen hoe waarschijnlijk bepaalde acties zijn. Denk aan een like, reply, repost, het delen van een link, maar ook negatieve acties zoals een melding, mute of block.

Die voorspellingen worden gebruikt om berichten een score te geven.

Maar daarmee zijn we er nog niet.

Voordat een bericht daadwerkelijk in de For You-feed verschijnt, kunnen andere systemen bepalen of het bericht überhaupt zichtbaar mag zijn.

X noemt dit Visibility Filtering.

Tonen, verbergen of eerst waarschuwen

In de openbare broncode staat inmiddels een aparte component genaamd visibility-filtering.

Volgens de documentatie bepaalt deze software onder andere of een bericht normaal wordt weergegeven, uit een bepaalde omgeving wordt verwijderd of achter een waarschuwing – een zogenaamde interstitial – wordt geplaatst.

Daarvoor gebruikt X verschillende labels en classificaties.

Andere systemen analyseren accounts, afbeeldingen, video’s en gedrag en kunnen daar labels aan koppelen. Vervolgens kunnen de visibility-regels op basis van zulke informatie beslissen wat er met content gebeurt.

Dat betekent dat we nu daadwerkelijk broncode kunnen bekijken die invloed heeft op de vraag:

Waarom wordt het ene bericht wel getoond en het andere niet?

Is dit censuur?

Daar moeten we voorzichtig mee zijn.

Niet iedere vorm van filtering is automatisch censuur.

Een spamfilter beperkt bijvoorbeeld ook de zichtbaarheid van berichten. Vrijwel niemand zal bezwaar hebben wanneer een sociaal netwerk honderd identieke cryptoscam-berichten uit een tijdlijn verwijdert.

Hetzelfde geldt bijvoorbeeld voor bepaalde vormen van illegale content of materiaal waarvoor wettelijke beperkingen gelden.

Interessanter wordt het wanneer legale berichten minder zichtbaar worden gemaakt vanwege bepaalde classificaties, regels of overheidsverzoeken.

Daarom vind ik de term zichtbaarheidsbeperking technisch vaak nauwkeuriger dan simpelweg alles onder het woord censuur te schuiven.

Maar juist doordat de code openbaar is, kunnen we hierover een veel concretere discussie voeren.

In plaats van te speculeren over wat een algoritme misschien doet, kunnen programmeurs daadwerkelijk de broncode openen en bekijken welke regels bestaan.

Het Braziliaanse voorbeeld

Een bijzonder interessant voorbeeld werd op 14 augustus door X zelf toegevoegd.

In de broncode wordt een systeem beschreven met de naam:

Brazil2026ElectionFilter

Volgens X is deze filter ingevoerd in verband met de Braziliaanse verkiezingen van 2026 en de Braziliaanse kieswetgeving.

De filter kan berichten van bepaalde gemelde accounts uit de For You-feed verwijderen. Er is daarbij een belangrijke uitzondering: wanneer een gebruiker zo’n account zelf expliciet volgt, geldt deze specifieke beperking niet op dezelfde manier.

Los van wat je politiek van zo’n maatregel vindt, is dit technisch een fascinerend voorbeeld.

We hoeven namelijk niet meer uitsluitend op verklaringen van X, journalisten, overheden of critici af te gaan.

De regel staat in de openbare broncode.

En precies dát is de kracht van open source.

Filtering is niet hetzelfde als downranking

Er is nog een belangrijk onderscheid.

Een sociaal netwerk hoeft een bericht niet volledig te verwijderen om het bereik ervan drastisch te verminderen.

Stel dat twee berichten kandidaat zijn voor je tijdlijn:

Bericht A krijgt een relevantiescore van 0,92.

Bericht B krijgt een relevantiescore van 0,08.

Beide berichten zijn technisch toegestaan en geen van beide is verwijderd. Toch is de kans groot dat je bericht B nooit tegenkomt.

Dat noemen we ranking of, wanneer de positie bewust naar beneden wordt beïnvloed, downranking.

Dat verschilt fundamenteel van filtering.

Bij filtering kan de beslissing bijvoorbeeld zijn:

dit bericht niet tonen.

Bij ranking is de beslissing eerder:

dit bericht mag worden getoond, maar andere berichten krijgen voorrang.

Voor gebruikers kan het resultaat soms hetzelfde voelen – bijna niemand ziet het bericht – terwijl er technisch iets heel anders gebeurt.

Daarom is het woord shadowban ook zo lastig. Alleen uit een laag bereik kun je niet concluderen dat een platform een account bewust heeft beperkt.

Under the Hood

X koppelt de openbaarmaking van de code bovendien aan een interessant transparantie-experiment genaamd Under the Hood.

Daarmee kunnen deelnemende gebruikers geaggregeerde informatie bekijken over labels die aan hun account en berichten zijn gekoppeld en die invloed kunnen hebben op hun zichtbaarheid.

Dat is belangrijk.

Open-sourcecode kan namelijk vertellen:

“Wanneer label X aanwezig is, gebeurt Y.”

Maar daarmee weet je nog niet automatisch of jouw account daadwerkelijk label X heeft gekregen.

Wanneer een platform gebruikers ook inzicht geeft in de labels die op hun eigen content worden toegepast, komen die twee werelden dichter bij elkaar.

In theorie ontstaat dan:

Welke labels heeft mijn account?

gecombineerd met:

Wat doet de software met zo’n label?

Dat is een niveau van transparantie dat we bij sociale media niet vaak zien.

Maar is hiermee alles transparant?

Nee.

Open source betekent niet automatisch dat we precies weten wat er op ieder moment binnen X gebeurt.

Daarvoor zouden we onder andere moeten weten welke versie van de software daadwerkelijk in productie draait, welke configuratie actief is, welke labels aan individuele accounts en berichten zijn toegekend, welke experimenten worden uitgevoerd en welke gegevens de modellen als invoer ontvangen.

Bovendien zijn niet alle onderdelen van de infrastructuur van X onderdeel van deze repository.

De openbare code is daarom geen magisch venster waarmee we voor ieder account kunnen zeggen:

“Dit bericht werd op dinsdag om 14:32 door X gecensureerd.”

Zo eenvoudig werkt het niet.

Wat we wél kunnen onderzoeken zijn de mechanismen waarmee X berichten selecteert, rangschikt en filtert.

Dat verschil is belangrijk.

Waarom ik deze ontwikkeling interessant vind

Ik ben al jaren een groot voorstander van open-source software. Een van de belangrijkste voordelen daarvan is niet alleen dat je software gratis kunt gebruiken of aanpassen.

Het belangrijkste voordeel is controleerbaarheid.

Bij gesloten software moet je uiteindelijk vertrouwen op wat een bedrijf je vertelt.

Bij open-source software kun je zeggen:

Laat de code maar zien.

Dat betekent natuurlijk niet dat iedere gebruiker duizenden regels programmeercode gaat doorspitten. Maar ontwikkelaars, beveiligingsonderzoekers, journalisten en wetenschappers kunnen dat wel.

En wanneer iemand beweert dat X bepaalde berichten onderdrukt, ontstaat daardoor een nieuwe mogelijkheid: kijken of daar in de openbare code technische aanwijzingen voor bestaan.

Omgekeerd geldt hetzelfde. Wanneer iemand beweert dat een bepaald onderwerp automatisch wordt gecensureerd, kan de broncode zo’n bewering mogelijk juist tegenspreken.

Open source kiest dus niet automatisch een kant in het debat.

Het levert informatie waarmee het debat beter gevoerd kan worden.

Een interessant experiment

De broncode is voor mij interessant genoeg om er verder in te duiken.

Op GitHub staan inmiddels onderdelen met namen als visibility-filtering, phoenix, simclusters, abuse-enforcement-service, botmaker en verschillende systemen die labels en classificaties produceren.

Ik wil vooral eens nader bekijken hoe die visibility filtering precies is opgebouwd.

Welke labels bestaan er?

Welke regels zorgen daadwerkelijk voor het verwijderen van een bericht uit de For You-feed?

Wanneer verschijnt alleen een waarschuwing?

Welke maatregelen zijn het gevolg van wetgeving?

En welke mechanismen hebben alleen invloed op de ranking?

Als ik er de tijd voor kan vinden lijkt het me leuk om dit eens wat dieper te onderzoeken.

Want ongeacht wat je van Elon Musk of X vindt, één ding vind ik aan deze ontwikkeling bijzonder interessant:

Als een algoritme mede bepaalt welke informatie miljoenen mensen te zien krijgen, dan is het beter wanneer we in de machinekamer mogen kijken dan wanneer de deur gesloten blijft.

Bronnen

Wat denk jij?

De broncode van het X-algoritme is omvangrijk en dit artikel raakt slechts een deel van wat er inmiddels openbaar beschikbaar is. Misschien heb jij zelf al in de code gekeken en iets interessants ontdekt dat hier niet wordt genoemd.

Heb je onderzoek gedaan naar de manier waarop X berichten filtert of rangschikt? Ben je opvallende regels, labels of andere mechanismen tegengekomen? Of heb je juist vragen over bepaalde onderdelen van de broncode?

Laat dan vooral een reactie achter onder dit artikel.

Ook verschillende opvattingen over de vraag waar moderatie ophoudt en censuur begint zijn welkom. Houd de discussie wel inhoudelijk en respecteer andere meningen.

Wie weet ontdek jij iets in de broncode wat ik over het hoofd heb gezien en vormt jouw reactie de aanleiding voor een vervolgonderzoek of een volgend artikel.

Rudy
Written by Rudy

Hallo ik ben Rudy

Laat een reactie achter

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *