Over ons

Gestopt
Taal
Thema
Over deze site

Over TechSpeeltuin

Over TechSpeeltuin.nl, het eigenbouwde framework en de gebruikte technologieën.

Paginaversie 1.5 · inhoud laatst bijgewerkt: 08-08-2026

Wat is Techspeeltuin.nl?

TechSpeeltuin is gemaakt door een inwoner van Dordrecht, oorspronkelijk puur als hobby en voor eigen gebruik. Wat begon als een verzameling losse tools en dashboards is langzaam uitgegroeid tot deze site. Op een gegeven moment dacht ik: waarom niet delen? Dus bij deze.

De site bevat behoorlijk wat informatie, van scheepvaart en luchtverkeer tot hulpdiensten, weer, energie en meer. Dat kan overweldigend aanvoelen, en dat begrijp ik. Maar dat is ook precies de opzet: één plek waar zoveel mogelijk interessante data samenkomt. Niet alles is voor iedereen even relevant, en dat is prima. Bekijk en gebruik vooral wat je nuttig vindt en negeer de rest.

TechSpeeltuin.nl draait op een volledig zelfgebouwd PHP-framework, geen WordPress, geen CMS-bloat, maar een lichtgewicht en modulair systeem gebouwd voor snelheid, veiligheid en volledige controle over de eigen data.

Boetseren met klei

Deze site groeit en verbetert elke dag. Zie het als boetseren met klei. Je begint met een vormloos blok en een idee in je hoofd. Dat idee werk je eerst in hoofdlijnen uit: de ruwe vorm staat er, en meer ook niet. Daarna begint het echte werk. Eindeloos verfijnen, details aanbrengen, details er weer afhalen omdat ze toch niet werken, schoonheidsfoutjes wegpoetsen, en af en toe een heel stuk platslaan en opnieuw beginnen omdat het je simpelweg niet bevalt. Het resultaat wordt steeds verfijnder, maar het kost tijd, iteraties en soms een flinke dosis frustratie.

Deze site is precies zo. Er staat inmiddels ontzettend veel informatie online, maar lang niet alles is "af" of "perfect". Elke dag wordt er geboetseerd en gekleid: teksten verduidelijkt, cijfers beter uitgelegd, pagina's opgeruimd, en soms verdwijnt er iets helemaal omdat het niets bleek toe te voegen. Wat je vandaag ziet is dus een momentopname en geen eindproduct.

Wat daarbij steeds belangrijker wordt, is zelfreflectie en zelfcontrole. Klopt het eigenlijk wel wat we meten? En kunnen we dat onafhankelijk verifiëren, met een tweede bron die niet uit dezelfde koker komt? Dat kan lang niet altijd: soms is er maar één bron, of meet niemand anders hetzelfde. Maar waar het wel kan, doen we het. Een eigen berekening naast een officiële meting leggen, twee feeds met elkaar vergelijken, of een waarde die te mooi is om waar te zijn net zolang uitzoeken tot duidelijk is waar hij vandaan komt. Blijkt iets niet te controleren, dan zeggen we dat er liever bij dan dat we doen alsof het vaststaat.

Het framework

De kern van de site is OwnBrew Framework, een volledig in-house ontwikkeld, op maat gemaakt PHP-framework. Het framework verzorgt routering, toegangscontrole, templating en het laden van pagina-specifieke CSS en JavaScript. Iedere pagina bestaat uit vier bestanden (PHP, Smarty-template, CSS en JS) die automatisch worden ingeladen: zo blijft de code overzichtelijk en onderhoudbaar zonder onnodige abstractielagen.

Templates worden verwerkt door Smarty, dat zorgt voor scheiding tussen logica en presentatie. Pagina-metadata zoals de paginatitel, het menu-item en de zichtbaarheid worden rechtstreeks in het template opgeslagen, waardoor een pagina volledig zelfbeschrijvend is.

Het framework biedt onder andere:

  • Toegangscontrole per pagina: pagina's kunnen publiek, lokaal (thuisnetwerk), achter een login of beperkt tot een specifiek IP-bereik worden gezet, ingesteld via één regel metadata.
  • Automatisch menubeheer: het menu wordt opgebouwd op basis van de metadata in de templates, zonder dat er een aparte configuratie bijgehouden hoeft te worden.
  • Plugin systeem met hooks: losse modules kunnen zich op vaste plekken in de pagina inhaken (de headerbalk, een widget, de voettekst, of eigen CSS en JavaScript) zonder dat de kern van het framework aangepast hoeft te worden.
  • Asset pipeline: pagina-specifieke CSS en JavaScript worden alleen ingeladen op de pagina's waar ze nodig zijn. Externe libraries (Leaflet, Highcharts, etc.) worden via een centrale asset-registry beheerd.
  • CSRF-beveiliging: formulieren en API-aanroepen worden automatisch beveiligd met CSRF-tokens.
  • Sitemap-generatie: pagina's die daarvoor zijn aangemerkt worden automatisch opgenomen in de XML-sitemap.
  • CRON-monitor: de status van alle achtergrondscripts is intern inzichtelijk, inclusief wanneer ze voor het laatst draaiden en welke resources ze gebruiken.
  • Centrale foutregistratie: fouten en waarschuwingen van alle achtergrondscripts en feeds worden gebundeld in één doorzoekbaar logboek, met een overzicht per onderdeel en tijdsvenster.
  • Ingebouwde kwaliteitschecks: eigen validators controleren de HTML, CSS en JavaScript van alle pagina's (HTML onder andere via PHP Tidy), zodat kapotte markup, ongebruikte styles of scriptfouten snel opvallen.
  • Status- & healthdashboard: een intern overzicht bewaakt of alle onderdelen (ontvangers, services en achtergrondscripts) nog draaien zoals verwacht.
  • Eigen Web Application Firewall: verdachte verzoeken worden geblokkeerd nog vóórdat het framework opstart. Daarnaast controleert het framework per pagina de toegang, worden gevoelige acties afgeknepen met snelheidslimieten, en kan de site in onderhoudsmodus worden gezet.
  • Cookieloze statistieken: bezoekersaantallen worden privacy-vriendelijk en server-side bijgehouden, zonder tracking-cookies of externe trackers.

Data ophalen en opslaan

Veel data op TechSpeeltuin wordt verzameld via achtergrondscripts (CRON-jobs) die volledig autonoom draaien. Een groot deel van de signalen wordt ontvangen met eigen ontvangers en apparatuur. De verwerkte data wordt opgeslagen in Redis (voor snelle in-memory toegang) of MySQL (voor persistente opslag).

  • ADS-B luchtvaart: vliegtuigposities worden realtime ontvangen via een eigen SDR-ontvanger (Software Defined Radio) en verwerkt tot vluchtinformatie.
  • AIS scheepvaart: scheepsbewegingen in de Dordtse wateren worden gevolgd via een eigen AIS-ontvanger.
  • MeshCore LoRa: nodes in het lokale LoRa-meshnetwerk worden ontvangen via eigen LoRa-hardware en weergegeven op de kaart.
  • P2000: meldingen van hulpdiensten worden ontvangen via een eigen ontvanger op het landelijke P2000-netwerk en real-time weergegeven.
  • Radioactiviteit: stralingsniveaus worden lokaal gemeten met eigen detectieapparatuur.
  • HF radio: HF-signalen (kortegolf) worden ontvangen via eigen apparatuur en antennes.
  • Tijd & plaatsbepaling: een zelfgebouwde NTP-tijdserver houdt de eigen tijdsynchronisatie bij; daarnaast wordt de status van het Nederlandse GNSS-referentienetwerk gevolgd.
  • Weerdata: meteorologische gegevens komen van KNMI-feeds en lokale sensoren.
  • Energie & financieel: energieprijzen, beurs- en cryptokoersen en verbruiksdata worden periodiek opgehaald uit publieke API's, aangevuld met de opbrengst van de eigen zonnepanelen en de stroomuitwisseling tussen de Europese landen.
  • Ruimteweer & radiopropagatie: zonnewind, geomagnetische activiteit (Kp-index), aurora-kansen en HF-propagatievoorspellingen worden opgehaald uit bronnen als NOAA/SWPC en GFZ, aangevuld met live ionosfeermetingen van ionosondes.
  • Eigen controlemetingen: van de propagatievoorspelling wordt bewaard wát we voorspelden en wat er in werkelijkheid aan verbindingen te horen was. Door die twee achteraf naast elkaar te leggen wordt per band zichtbaar hoe vaak de voorspelling klopte en waar hij er structureel naast zit. Die reeks wordt vervolgens gebruikt om de gehanteerde drempelwaarden bij te stellen, en om te zien of zo'n bijstelling het daarna echt beter maakt. Ook de gemeten ionosfeerwaarden worden per uur vastgelegd, zodat ze te vergelijken zijn met wat op dat uur normaal is in plaats van met een vast getal.
  • Luchtkwaliteit & pollen: fijnstof-, ozon- en hooikoorts-indices komen uit publieke API's.
  • Activiteiten & evenementen: een doorlopende agenda van activiteiten in Dordrecht, automatisch samengesteld uit meerdere lokale bronnen.
  • Lokale overheid: officiële bekendmakingen, raadsinformatie en meldingen over de openbare ruimte worden uit publieke bronnen verzameld.
  • Dordrecht in cijfers: demografische en leefomgevingsdata (onder andere CBS), parkeerzones en afvalstatistieken.
  • Verkeer & mobiliteit: actuele verkeersstromen, wegwerkzaamheden en de status van bruggen en tunnels komen uit landelijke open verkeersdata, aangevuld met de dienstregeling van het openbaar vervoer.
  • Water: waterstanden en rivierafvoeren van Rijkswaterstaat, plus grondwaterpeilen en drinkwatergegevens.
  • Aardbevingen & onweer: seismische metingen van KNMI en USGS, en bliksemontladingen via het Blitzortung-netwerk.
  • Veiligheid & incidenten: Burgernet-meldingen, regionale veiligheidsberichten en misdaadcijfers van CBS en politie.
  • Astronomie & satellieten: zichtbare ISS-passages worden zelf berekend uit actuele baangegevens, aangevuld met zon- en maanstanden en verduisteringen.
  • Drones: vliegcondities en actuele no-flyzones uit officiële luchtruimdata en natuurgebiedsgrenzen.
  • Radio-referentiedata: het antenneregister, frequentie- en bandplannen, zendbeperkingen, repeaterlijsten en radio-evenementen.
  • Adres- & geodata: de landelijke adressen- en gebouwenregistratie (BAG) en OpenStreetMap vormen de basis onder de kaarten en adreszoekfuncties.
  • Nieuwsbronnen: lokale, technologie- en hamradio-nieuwsfeeds worden doorlopend opgehaald; wat daarmee gebeurt staat hieronder bij AI op deze site.

Data delen: een open uitnodiging

Alles wat je hier ziet is gebouwd op openbaar toegankelijke data: open standaarden, publieke API's, open data van overheden en kennisinstellingen, en signalen die met eigen ontvangers uit de lucht worden geplukt. Dat is een bewuste keuze. Het maakt de site controleerbaar, navolgbaar en voor iedereen na te bouwen. En eerlijk gezegd is het uitzoekwerk zelf minstens zo leuk als het resultaat.

Toch loopt open data ergens tegen een grens aan. Sommige datasets bestaan wel, maar zijn niet publiek: een meetnet dat net wat fijner meet, een register dat alleen via een afgeschermde API te benaderen is, een feed die achter een sleutel zit. Juist daar zit vaak het verschil tussen een kaart die aardig is en een kaart waar iemand echt iets aan heeft.

Werk je bij een organisatie die zulke data beheert, en heb je het gevoel dat het hier goed terecht zou komen? Dan hoor ik dat heel graag. Ik ga zorgvuldig met data om: afspraken en licentievoorwaarden worden nagekomen, bronvermelding staat er standaard bij, ruwe data wordt niet doorgegeven als dat niet de bedoeling is, en over de manier waarop iets getoond wordt valt altijd te praten. Wat je ervoor terugkrijgt is een zichtbare, goed uitgelegde toepassing die laat zien wat jullie data waard is, gebouwd door iemand die er de tijd voor neemt en het leuk vindt om mee te denken.

Er zit geen commercieel belang achter. Deze site verkoopt niets, verdient niets en heeft geen advertenties. Het is nieuwsgierigheid, netjes uitgevoerd. Heb je een dataset, een idee of gewoon een vraag of het zou kunnen? Stuur gerust een bericht via het contactformulier. Op elk bericht komt een antwoord.

Visualisatie en frontend

Op de frontend wordt gebruik gemaakt van Leaflet.js voor interactieve kaarten, inclusief markercluster-ondersteuning voor drukke datasets. Grafieken en statistieken worden weergegeven met Highcharts. Voor icons wordt FontAwesome gebruikt, aangevuld met OpenMoji waar een emoji beter werkt dan een pictogram: landenvlaggen bijvoorbeeld, en de icoontjes in de nieuwsbalk en de agenda. Die plaatjes staan op onze eigen server, dus je browser haalt er niets voor op bij derden.

De gehele styling is eigengemaakt, geen Bootstrap of Tailwind, maar een eigen lichtgewicht component-bibliotheek met volledige ondersteuning voor dark mode via CSS custom properties.

Realtime data (zoals vliegtuig- en scheepsbewegingen) wordt via Server-Sent Events (SSE) naar de browser gestreamd, zodat de kaart zichzelf bijwerkt zonder paginaverversing.

Toegankelijkheid en WCAG 1.4.1

Een site vol kaarten, grafieken en gekleurde statusregels loopt zo een toegankelijkheidsprobleem in. Daarom houden we ons zoveel mogelijk aan de WCAG-richtlijnen, de internationale afspraken over toegankelijkheid van websites. Eén regel daaruit komt hier zo vaak terug dat hij een eigen alinea verdient: succescriterium 1.4.1, Use of Color. Kleur mag niet het enige zijn dat betekenis draagt. Wie kleuren slecht onderscheidt, moet dezelfde informatie ook op een andere manier kunnen aflezen. Dat is geen randgeval: kleurenblindheid komt voor bij ongeveer 1 op de 12 mannen en 1 op de 200 vrouwen, volgens Colour Blind Awareness.

Wat dat hier concreet betekent:

  • Links in lopende tekst hebben een onderstreping en niet alleen een accentkleur. Knoppen, chips en menu-items houden hun gladde vorm: daar zie je aan de omgeving al dat er iets aanklikbaar is.
  • Status en ernst krijgen naast de kleur ook een woord, een cijfer of een icoon. Een rood bolletje zonder tekst zegt niets tegen wie rood en groen niet uit elkaar houdt.
  • Grafieken en kaarten krijgen tekst in de legenda, en waar het kan ook onderscheid in vorm of hoogte in plaats van alleen in tint.
  • Bediening zonder muis: bovenaan elke pagina staat een verborgen "naar de inhoud"-link voor toetsenbordgebruikers, en knoppen en velden krijgen een zichtbare focusrand zodra je met Tab door de pagina loopt.
  • Schermlezers: iconen die alleen versiering zijn worden overgeslagen, zodat de voorlezer niet elk pictogram gaat benoemen.
  • Dark mode hoort er vanaf het begin bij en wordt bij elk nieuw onderdeel meteen meegenomen, niet achteraf aangeplakt.

Wat er niet staat is net zo belangrijk: er is geen formele toegankelijkheidsaudit gedaan en deze site draagt geen officiële toegankelijkheidsverklaring. Drukke kaarten met veel gekleurde markers blijven lastig, en de systeemvoorkeur "beperk beweging" wordt nog maar op een paar onderdelen gerespecteerd in plaats van overal. Kom je iets tegen dat niet te lezen of te bedienen is? Laat het weten via het contactformulier. Dat is precies het soort melding waar deze site beter van wordt.

AI op deze site

Sinds 2 augustus 2026 gelden in de Europese Unie nieuwe transparantieregels voor AI, waar onder meer Bright over schreef. Kort samengevat: wie AI-beeld of AI-tekst publiceert moet daar duidelijk over zijn, zeker bij tekst die zonder menselijke controle het publiek informeert over onderwerpen van algemeen belang.

Die regels richten zich op bedrijven en organisaties. De AI-verordening zondert gebruik in het kader van een persoonlijke, niet-professionele activiteit uitdrukkelijk uit van de verplichtingen voor gebruikers van AI-systemen (artikel 3, lid 4; de transparantieplicht zelf staat in artikel 50). TechSpeeltuin is een hobbyproject van één inwoner van Dordrecht, geen bedrijf en geen redactie, dus wij vallen er niet onder.

We doen het toch, want de gedachte erachter klopt gewoon: je moet kunnen weten waar je naar kijkt. Daarom leggen we hieronder uit wat hier door AI gemaakt wordt en, minstens zo belangrijk, wat we vóór publicatie wel en niet nakijken. Dan weet je wat je van een stuk tekst mag verwachten.

Wat automatisch gaat en niet vooraf gecontroleerd wordt. De nieuwssamenvattingen op de homepage worden grotendeels door AI gemaakt, net als de bijbehorende afbeeldingen: die worden op trefwoorden uit het bericht gezocht of gegenereerd. Ook een aantal terugkerende teksten, zoals het weerbericht en sommige analyses, rolt er automatisch uit. Dat verschijnt doorlopend en wordt niet stuk voor stuk door een mens gelezen voordat het online staat. Waar dat zo is, zetten we het erbij, met een label als "automatisch gegenereerd met AI" of een vergelijkbare vermelding boven het onderdeel.

Wat wel door mensenhanden gaat. De informatieve pagina's over techniek, protocollen en regelgeving zijn uitgezocht en nagelezen door een mens, en waar mogelijk getoetst aan primaire bronnen. Ook daar is AI als hulpmiddel gebruikt, zowel voor het schrijven als voor het uitzoekwerk. Dat versnelt het werk enorm, maar het brengt een eigen risico mee: AI kan verkeerde technische details opleveren, verouderde normen aanhalen, of subtiele onnauwkeurigheden produceren die er op het eerste gezicht volstrekt geloofwaardig uitzien. Daarom controleren we na, en toch zijn we ook maar mensen: soms glipt er iets doorheen. Er heeft in elk geval iemand naar gekeken vóór publicatie, en dat is iets anders dan een garantie dat het klopt.

Wat er gebeurt vóórdat een automatisch bericht online staat. Een AI-tekst gaat hier niet rechtstreeks van het model naar de pagina. Nadat een model een nieuwsbericht heeft geschreven, leest een tweede model het na met het bronmateriaal ernaast: staat er iets in dat helemaal niet uit de bron komt, en zitten er spel- of taalfouten in? Zinnen die nergens op gestoeld zijn gaan eruit, kleine taalfouten worden verbeterd, en een bericht dat er te ver naast zit wordt tegengehouden. Zo'n tegengehouden bericht krijgt automatisch één herkansing bij een zwaarder en duurder model, dat het vanaf de bron opnieuw schrijft. Haalt ook dat de controle niet, dan verschijnt het bericht niet.

Belangrijk om te weten: dat is geen echte feitencheck en al helemaal geen garantie. Een taalmodel dat een ander taalmodel nakijkt weet niet wat waar is. Het herkent vooral wat níet in het bronmateriaal staat. We hebben van dichtbij gezien hoe een zwaar model een fout getal met volle overtuiging bevestigde, dus twee modellen vragen levert soms gewoon twee zelfverzekerde gokken op. Wat zo'n controle wél uit de berichten haalt zijn de meest voorkomende missers: iets dat het schrijvende model erbij verzon, een cijfer dat in de bron niet voorkomt, een term die verkeerd uit het Engels is overgezet. Over veel berichten gemeten levert dat merkbaar betere teksten op; over één los bericht zegt het niets.

Van elk bericht leggen we vast wat de controle ervan vond, zodat we kunnen zien of het bijschaven ook echt helpt. Die meetreeks is nog erg pril. Over de eerste tientallen berichten haalde ruwweg één op de drie nog een correctie op en werd een enkel bericht helemaal tegengehouden. Dat is te weinig om er conclusies aan te verbinden, maar genoeg om te zien wáár het misgaat. Vervolgens gaan de instructies aan het model op de schop, schuiven de drempels op, en vergelijken we modellen met elkaar. Dat tweaken en tunen is doorlopend werk en het stopt niet.

We experimenteren hier volop mee, en dat betekent dat er weleens wat misgaat. Een samenvatting die net niet klopt, een plaatje dat er weinig mee te maken heeft, of een kop die er wat vreemd uitspringt. Dat hoort erbij. Het is een continu proces van tweaken, tunen en leren, en dat vinden we zelf eigenlijk het leukste deel. Trek er dus niet te veel van aan, en meld het gerust als je iets opvallends ziet.

Hoe die automatische selecties precies tot stand komen:

  • Bronnen: de nieuwssamenvattingen zijn gebaseerd op openbaar toegankelijke nieuwsbronnen over Dordrecht en omgeving. De onderliggende meetdata (scheepvaart, luchtvaart, weer, en zo verder) komt uit de bronnen die hierboven per onderwerp staan beschreven.
  • Samenstellen: achtergrondscripts halen periodiek nieuwe items op. Een AI-model maakt daar een beknopte samenvatting van en kiest of genereert een passende afbeelding op basis van trefwoorden uit het bericht. Wélke items verschijnen en in welke volgorde, wordt automatisch bepaald, er zit geen handmatige redactionele selectie per item tussen.
  • Verversen: dit gebeurt doorlopend en automatisch; er is geen vast publicatiemoment. Oudere items schuiven vanzelf door.
  • Verificatie: de AI-samenvattingen worden niet stuk voor stuk door een mens nagelezen vóórdat ze verschijnen. Een tweede AI-model legt elk bericht wel naast het bronmateriaal, en bij twijfel wordt het bericht opnieuw geschreven door een zwaarder model. Dat vangt de grofste fouten af, maar het is geen feitencheck: onnauwkeurigheden kunnen erdoorheen glippen. Daarnaast controleren we steekproefsgewijs met de hand en sturen we het systeem bij.
  • Techniek: het samenvatten en verrijken loopt via een zelfgebouwde AI-helper die meerdere aanbieders kan aanspreken. Schrijven en controleren gebeurt bewust door verschillende modellen. De gegenereerde tekst wordt opgeslagen in Redis en als Markdown weergegeven.
  • Melden: klopt er iets niet of staat er iets ongepasts? Laat het weten via het contactformulier, dan corrigeren we het.

Nauwkeurigheid van informatie

Ook een pagina die bij het schrijven helemaal klopte, kan na verloop van tijd achterlopen. Regelgeving wordt herzien, normen worden bijgewerkt, richtlijnen veranderen, en het is goed mogelijk dat de site op dat moment nog niet is aangepast. Dat geldt zeker voor pagina's over frequentiegebruik, technische standaarden en juridische kaders: die kunnen sneller verouderen dan je verwacht. Op de meeste inhoudelijke pagina's staat daarom bovenaan een paginaversie met de datum waarop de inhoud voor het laatst is nagelopen.

Behandel de informatie op deze site dan ook als puur informatief en als startpunt, niet als eindpunt. Je hebt zelf de plicht om na te gaan of iets klopt, zeker als je er beslissingen op baseert. Raadpleeg altijd de officiële en primaire bronnen. Zie je iets wat niet klopt of verouderd is? Meld het gerust via het contactformulier. Dat wordt zeer op prijs gesteld.

Hosting en infrastructuur

De site draait op een eigen, self-hosted server, aangevuld met monitoring, logging en een Web Application Firewall (WAF) die verdachte verzoeken blokkeert voordat ze de applicatie bereiken. Alle risicovolle code (configuratie, framework-kern, templates) staat buiten de webroot en is niet direct bereikbaar via de browser.

Al het verkeer naar TechSpeeltuin loopt via Cloudflare. Cloudflare fungeert als reverse proxy en biedt meerdere beveiligings- en prestatielagen:

  • DDoS-bescherming: volumetrische aanvallen worden automatisch geabsorbeerd voordat ze de server bereiken.
  • IP-afscherming: het werkelijke server-IP-adres blijft verborgen achter Cloudflare's netwerk.
  • SSL/TLS-terminatie: HTTPS-verbindingen worden afgehandeld via Cloudflare's certificaten, met end-to-end encryptie naar de eigen server.
  • Caching van statische assets: afbeeldingen, CSS en JavaScript worden geserveerd vanuit Cloudflare's wereldwijde CDN, wat de laadtijd voor bezoekers buiten Nederland verkort.
  • Bot-filtering: automatisch verkeer van bekende kwaadaardige bots en crawlers wordt gefilterd.
  • Rate limiting: herhaalde verzoeken van hetzelfde IP-adres kunnen worden beperkt via Cloudflare-regels.

Beveiliging & onafhankelijke tests

De infrastructuur van TechSpeeltuin wordt getoetst door onafhankelijke, publieke tests. De actuele scores. Klik voor het live-resultaat:

Wat er achter die scores zit

Onze CSP stond lange tijd op 'unsafe-inline' voor scripts, wat een B+ opleverde. Sinds augustus 2026 is dat eruit: alle inline knop-acties (onclick en soortgenoten) zijn vervangen door gedelegeerde listeners, en de overgebleven inline scriptblokken dragen een nonce die per pagina-aanvraag wisselt. Daarmee staat de score op A+.

Volledigheidshalve, want een A+ betekent niet dat alles dichtgetimmerd is: style-src staat nog wél 'unsafe-inline' toe, omdat een aantal pagina's inline stijlen met berekende waarden gebruikt. Verder is 'wasm-unsafe-eval' toegestaan (nodig voor WebAssembly, maar géén volledige 'unsafe-eval') en staat object-src op 'self' in plaats van 'none', omdat één pagina een same-origin SVG via <object> inlaadt. Wat er verder staat: een afgedwongen CSP met een strikte bronnenlijst, clickjacking-bescherming (frame-ancestors), vastgezette base-uri en form-action, en HSTS met preload.

Contact

Vragen, opmerkingen of suggesties? Neem contact op via het contactformulier.

Disclaimer

De informatie op TechSpeeltuin.nl wordt uitsluitend aangeboden voor informatieve doeleinden. De gegevens worden samengesteld op basis van openbaar beschikbare bronnen en eigen ontvangers, en verwerkt tot overzichtelijke weergaven. Hoewel we streven naar correctheid en actualiteit, kunnen wij geen garantie geven voor de juistheid, volledigheid of actualiteit van de gepresenteerde informatie.

Wij proberen onze informatie waar mogelijk te toetsen aan onafhankelijke bronnen en te controleren of wat we tonen ook echt klopt. Dat lukt lang niet overal: soms is er maar één bron, en soms is er niets om tegenaan te leggen. Die controle is dan ook uitdrukkelijk geen garantie dat de informatie juist is. Ga voor beslissingen die ertoe doen altijd zelf na of iets klopt bij de officiële bron.

Aan de informatie op deze website kunnen geen rechten worden ontleend. De beheerder van TechSpeeltuin.nl is niet aansprakelijk voor schade van welke aard dan ook die voortvloeit uit het gebruik van, het vertrouwen op, of het handelen naar aanleiding van informatie op deze website.

Voor beslissingen met mogelijke gevolgen (waaronder maar niet beperkt tot veiligheid, gezondheid, financiën of noodsituaties) dient u altijd de officiële bronnen te raadplegen. Deze website is geen vervanging voor officiële waarschuwingssystemen, overheidsinformatie of professioneel advies.

Getoonde gegevens van derden (waaronder maar niet beperkt tot weerdata, P2000-meldingen, AIS-data, luchtvaartdata en financiële koersen) zijn eigendom van de respectievelijke bronhouders en zijn onderworpen aan hun gebruiksvoorwaarden. Alle overige content op TechSpeeltuin.nl is eigendom van TechSpeeltuin.nl, tenzij anders vermeld.

Foto's en video's van onze eigen redactie herken je aan het TechSpeeltuin-logo; overig beeldmateriaal (waaronder de afbeeldingen bij nieuwssamenvattingen) blijft eigendom van de oorspronkelijke maker of rechthebbende. Wil je eigen beeld van TechSpeeltuin (her)gebruiken? Neem gerust even contact op.

Wij behouden ons het recht voor deze disclaimer op elk moment te wijzigen zonder voorafgaande kennisgeving. Op het gebruik van deze website is Nederlands recht van toepassing. Voor informatie over hoe wij omgaan met persoonsgegevens, zie onze privacyverklaring.