Privacy Ratings

Geautomatiseerde tests

Gehoste diensten (categorieën met type: service) worden automatisch getest wanneer hun beoordelingsbestand een domain heeft. E-mailproviders en doorstuurdiensten met een mail_domain krijgen ook een e-mailtest.

Test Wat wordt gecontroleerd Criterium Ja Gedeeltelijk Nee
Qualys SSL Labs TLS-versies, ciphers, certificaten en bekende TLS-zwakheden tls A+ of A A- of B C of lager
Mozilla HTTP Observatory Beveiligingsheaders zoals CSP, HSTS en X-Frame-Options, en cookievlaggen security_headers A+ of A A-, B+ of B B- of lager
Internet.nl-websitetest IPv6, DNSSEC, HTTPS en beveiligingsopties web_standards 90% of meer 70% tot 89% Lager dan 70%
Internet.nl-e-mailtest IPv6, DNSSEC, DMARC, DKIM, SPF, STARTTLS en DANE voor het maildomein mail_standards 90% of meer 70% tot 89% Lager dan 70%
Hardenize Configuratie van DNS-, e-mail- en webbeveiliging Alleen gelinkt

E-mailstandaarden

E-mailproviders en doorstuurdiensten met een mail_domain krijgen ook deze tests, uitgevoerd door scripts/mail-tests.js:

Test Wat wordt gecontroleerd Criterium Ja
DNS over HTTPS SPF, DMARC-beleid, MTA-STS-modus (RFC 8461), TLS-RPT (RFC 8460), DNSSEC-validatie, DANE TLSA op elke MX-host (RFC 7672), plus BIMI en RFC 6186-SRV-records ter informatie transport_security Alle zes afgedwongen
IMAP CAPABILITY Impliciete TLS op 993 (RFC 8314), IMAP4rev1 of IMAP4rev2, IDLE. Valt terug op STARTTLS op 143 imap_standards Impliciete TLS, IMAP4rev1/rev2 en IDLE
POP3 CAPA Impliciete TLS op 995, CAPA (RFC 2449), UIDL. Valt terug op STLS op 110 pop3_standards Impliciete TLS, CAPA en UIDL
SMTP EHLO Verzending via impliciete TLS op 465, SMTPUTF8, 8BITMIME, PIPELINING, AUTH. Valt terug op STARTTLS op 587 smtp_standards Impliciete TLS en alle vier de extensies

Servernamen komen uit imap_host, pop3_host en smtp_host in het beoordelingsbestand, of uit de RFC 6186-SRV-records van de provider. Stel een host in op false wanneer de provider dat protocol niet aanbiedt. Mogelijkheden zijn wat elke server vóór het inloggen aankondigt, en de volledige lijsten worden op elke beoordelingspagina getoond.

Websitetrackers

Elke vermelding met een website, ook apps, krijgt een trackertest die wordt uitgevoerd door scripts/trackers.js. Die laadt de startpagina zonder JavaScript uit te voeren en vergelijkt de host van elk script, frame, elke afbeelding en elk stylesheet, plus inline code, met een lijst van bekende tracking- en analyticsdiensten.

Gevonden Effect op no_trackers
Trackers van derden zoals Google Analytics, Google Tag Manager, Meta Pixel, Hotjar of HubSpot Het antwoord wordt "nee", wat er ook in het beoordelingsbestand staat
Cookieloze analytics (Plausible, Fathom, Simple Analytics, Matomo Cloud, Cloudflare Web Analytics) Een "ja" wordt "gedeeltelijk"
Lettertypen, insluitingen, foutrapportage, supportchat of toestemmingstools Op de pagina vermeld, niet gescoord
Niets Het antwoord in het beoordelingsbestand wordt gebruikt

Wanneer de website een pagina op een codehost of in een appwinkel is (GitHub, GitLab, Codeberg, SourceForge, F-Droid, Google Play en vergelijkbaar), wordt de test overgeslagen, omdat die pagina niet door het project zelf wordt beheerd.

De test ziet alleen trackers die in de pagina zelf staan. Trackers die later door scripts worden toegevoegd, en telemetrie in apps, hebben nog steeds bewijs in het beoordelingsbestand nodig, zoals een privacybeleid of een rapport van Exodus Privacy.

SRS en ARC zijn van buitenaf niet te zien zonder mail te versturen, dus het zijn criteria die met bewijs worden beantwoord in plaats van met tests.

Geautomatiseerde controles die nog niet zijn uitgevoerd, worden getoond als "Nog niet getest" en tellen niet mee in de score, zodat een provider nooit lager wordt beoordeeld voor een test die nog niet heeft plaatsgevonden.

Voor SSL Labs wordt het zwakste cijfer over alle IP-adressen van een domein gebruikt.

Hardenize biedt geen openbare API meer, dus elke pagina linkt naar het openbare rapport in plaats van het te scoren.

Schema

De Scan-workflow draait elke dag en test de 40 vermeldingen met de oudste resultaten (voor Internet.nl gelden eigen limieten, zie hieronder), zodat elke dienst regelmatig wordt getest zonder de gratis API's te overbelasten. De resultaten worden als JSON opgeslagen in scans/, gecommit in de repository en met de site gepubliceerd. Elke pagina toont wanneer de tests voor het laatst zijn uitgevoerd.

Een mislukte test behoudt het vorige resultaat en registreert de fout, zodat een tijdelijke storing een score niet verandert.

Limieten voor Internet.nl

De batch-API van Internet.nl wordt gebruikt binnen de gebruiksvoorwaarden:

Elk verzoek wordt vastgelegd in scans/internetnl-requests.json, dat met de resultaten wordt gecommit, ook als een run mislukt. Een run die vaststelt dat de weeklimiet is bereikt, slaat Internet.nl over en behoudt de bestaande resultaten. Batches duren uren, dus de status van een verzoek wordt elke 5 minuten gecontroleerd, en een verzoek dat nog loopt wanneer de run eindigt, wordt door een latere run opgehaald in plaats van opnieuw te worden verstuurd. Internet.nl negeert --limit, en alleen runs op de standaardbranch gebruiken de inloggegevens voor Internet.nl, zodat alle runs één register delen.

Deze website hergebruikt testresultaten die worden geleverd door de testtool van Internet.nl.

Configuratie

Alle instellingen zijn optionele repository-secrets (Settings › Secrets and variables › Actions):

Secret Doel
SSLLABS_EMAIL E-mailadres geregistreerd bij de SSL Labs API v4. Zonder dit wordt de v3-API gebruikt. Voor registratie is een e-mailadres van een organisatie nodig.
INTERNETNL_USERNAME, INTERNETNL_PASSWORD Account voor de batch-API van Internet.nl. Zonder deze gegevens linken pagina's naar de openbare Internet.nl-tests en blijven de Internet.nl-criteria "onbekend".
INTERNETNL_API Basis-URL van de batch-API, voor een zelf gehoste Internet.nl-instantie. Standaard https://batch.internet.nl/api/batch/v2.

Mozilla HTTP Observatory heeft geen account nodig. Licentiegegevens van GitHub gebruiken het ingebouwde token van de workflow.

Tests lokaal uitvoeren

npm ci
node scripts/scan.js --only email-providers/forward-email
node scripts/scan.js --limit 5 --tests observatory
node scripts/scan.js --tests mail-dns          # email DNS checks only
npm run test:unit                              # protocol probes against local mock servers
npm run build

Welk domein wordt getest

Het veld domain moet de hoofdwebsite of webapp zijn waar mensen inloggen, bijvoorbeeld mail.example.com in plaats van een marketingsubdomein op een andere host. Leveranciers kunnen in een pull request een nauwkeuriger domein voorstellen.

Deze pagina bewerken op GitHub Markdown