Naar de inhoud
Je bekijkt een voorproefje van het nieuwe Puzzel.org Terug naar de huidige site
Juridisch

Alles wat een IT-afdeling vraagt, beantwoord vanuit de draaiende code.

Hosting, subverwerkers, de domeinen die je moet deblokkeren, welke gegevens worden opgeslagen en waar ze staan. De woordelijke inkoopvragenlijst is één klik verderop.

Leveranciersinformatie · bijgewerkt augustus 2026
In één zin
Een website, geen installatie
Elke moderne browser, elk apparaat. Geen plug-in, geen app, geen account nodig om te spelen.
Hosting
Vercel vooraan, Google Firebase erachter
Vercel levert de applicatie; accounts, activiteiten en resultaten staan in een Firebase realtime database.
Gegevenslocatie
Standaard Verenigde Staten, EU beschikbaar
Bestanden en accountgegevens zijn twee aparte regio-instellingen. Geüploade bestanden kan elk account omzetten; het verplaatsen van de accountgegevens zelf vereist een actief abonnement.
Firewall
Een korte allowlist — inclusief websocket
De database communiceert via wss://, en dat is de regel waar strenge schoolfilters het vaakst op stuklopen.
1

Van wie je koopt

Puzzel.org is een Nederlandse eenmanszaak, dus het verkoopcontact, het technische contact en degene die de code schrijft zijn dezelfde persoon. Dit zijn de gegevens die een inkoopafdeling nodig heeft om de leverancier te registreren.

Support is onbeperkt en verloopt per e-mail — het antwoord komt van de ontwikkelaar, niet uit een ticketwachtrij.
Het contact hieronder is ook het contact voor beveiliging en datalekken; er is geen apart escalatiepad.
Statutaire naam
Puzzel.org
Contact en contactpersoon
Daan Weustenraad
Adres
Sneekermeer 13, 3825XT Amersfoort, The Netherlands
Kamer van Koophandel (KvK)
66090091
Btw-nummer
NL002191535B44
Support
Onbeperkt, per e-mail, 09:00–22:00 CET
2

Wat een school eigenlijk uitrolt

Er wordt niets geïnstalleerd. Docenten openen puzzel.org in de browser die ze al hebben, en spelers openen een link of een activiteit die is ingesloten in jullie eigen pagina — geen account, geen download, geen beheerdersrechten.

Chrome, Firefox, Safari en Edge worden ondersteund; Internet Explorer niet.
Er komt geen Flash, Java of browserextensie aan te pas, en er wordt niets op het apparaat opgeslagen.
Pagina's zijn klein — meestal ruim onder 1 MB — dus wifi volstaat; een bekabelde verbinding is niet nodig.
Spelen werkt op telefoons en tablets; een activiteit maken is comfortabeler op een tablet of desktop.
Chromebooks en vergrendelde beheerde apparaten zijn prima: alles draait in de browser.
3

Firewall, allowlist en paginaheaders

Deblokkeer de domeinen hieronder. De realtime database verbindt via een websocket, en dat is precies wat een streng contentfilter vaak stilletjes laat vallen — als activiteiten wel openen maar resultaten nooit worden opgeslagen, is dat de regel om als eerste naar te kijken.

Alleen de regio die jouw account gebruikt is nodig: een VS-account maakt nooit contact met de EU-database, en andersom.
Stripe wordt alleen benaderd tijdens het kopen of verlengen van een abonnement — het mag op klaslokaalapparaten geblokkeerd blijven.
Domeinen die het filter moet doorlaten
puzzel.org De applicatie zelf
puzzelorg-cdn.s3.us-west-1.amazonaws.com Afbeeldingen en audio geüpload door accounts die in de VS zijn opgeslagen
puzzelorg-image-cdn.s3.eu-north-1.amazonaws.com Afbeeldingen en audio geüpload door accounts die in de EU zijn opgeslagen
*.googleapis.com Inloggen en tokenvernieuwing (Firebase Authentication)
puzzelorg.firebaseapp.com De inlogpop-up voor Google- en Microsoft-accounts
wss://puzzelorg.firebaseio.com Realtime database — accounts opgeslagen in de VS wss
wss://puzzelorg-2.europe-west1.firebasedatabase.app Realtime database — accounts opgeslagen in de EU wss
fonts.googleapis.com, fonts.gstatic.com Webfonts
checkout.stripe.com Alleen tijdens het kopen of verlengen van een abonnement

Wildcards zijn Googles eigen hosts voor Firebase Authentication; de rest is exact.

Response-headers die op elke pagina worden gezet
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Dwingt een jaar lang HTTPS af, subdomeinen inbegrepen
X-Content-Type-Options: nosniff
Voorkomt dat de browser contenttypes gaat raden
Referrer-Policy: strict-origin-when-cross-origin
Stuurt alleen de origin naar andere sites, nooit de volledige URL
X-Frame-Options: SAMEORIGIN
Blokkeert het framen van het platform — ingesloten activiteiten zijn de bewuste uitzondering
Content-Security-Policy: frame-ancestors 'self'; upgrade-insecure-requests;
Herhaalt de framing-regel en upgradet elk gewoon http-verzoek
4

Logins, rollen en single sign-on

Docenten loggen in met een e-mailadres en wachtwoord, of met het Google- of Microsoft-account dat je school al beheert. Spelers blijven anoniem, tenzij een docent bewust registratie inschakelt voor een activiteit.

Elke docent heeft een eigen login; de eigenaar van het schoolaccount nodigt collega's uit en kan een plek weer intrekken.
Rollen zijn bewust plat: de eigenaar beheert de plekken en elke docent ziet alleen zijn of haar eigen activiteiten.
Ingesloten activiteiten ondersteunen OIDC single sign-on: je portaal geeft een ondertekend token door, dat wordt gecontroleerd tegen de gepubliceerde sleutels van je identity provider voordat een speler wordt toegelaten. Issuers worden per account op een allowlist gezet, op aanvraag ingesteld.
Er is op dit moment geen Clever-, ClassLink- of SAML-koppeling — vraag het na voordat je ervan uitgaat.
5

Welke gegevens het platform bewaart

Standaard legt een activiteit niets vast over de speler: geen account, geen naam, geen score. Resultaten bijhouden en een speler vragen wie hij is, zijn twee aparte instellingen die een docent per activiteit inschakelt, en elk gevraagd veld wordt met de hand gekozen uit de lijst hieronder.

Docentaccount: e-mailadres, naam, de gemaakte activiteiten en alle geüploade afbeeldingen of audio.
Spelersgegevens: alleen de registratievelden die die docent koos, plus de antwoorden die in die ene activiteit zijn gegeven.
Nergens op het platform advertentie- of analyticstrackers, en geen scripts van derden op het speelscherm.
De AI-assistent wordt per opdracht gebruikt: wat een docent typt, gaat naar OpenAI om content te genereren. Spelersgegevens nooit.
Velden waar een docent een speler om kan vragen
NaamVoornaamAchternaamE-mailTelefoonnummerLeerlingnummerPersoneelsnummerOrganisatieKlasLandOverige infoWachtwoordEen vraag die je zelf schrijft

Geen van deze velden wordt gevraagd tenzij de docent het aan die specifieke activiteit toevoegt.

6

Isolatie, versleuteling en wie je gegevens kan zien

Elke lees- en schrijfactie gaat door Firebase Security Rules: een account kan alleen bij zijn eigen gegevens en bij de resultaten die voor zijn eigen activiteiten zijn ingestuurd. Die controle draait op de servers van Google, niet in de browser, dus hij houdt ook stand tegen iemand die de pagina voor zijn neus herschrijft.

Het verkeer is van begin tot eind HTTPS, en gegevens worden door Google Firebase versleuteld tijdens transport en in rust.
Geüploade afbeeldingen en audio worden geserveerd vanaf een openbare S3-URL. Beschouw ze als openbaar: houd vertrouwelijke zaken buiten de media van een activiteit.
Puzzel.org opent een account alleen wanneer de eigenaar om hulp vraagt bij iets daarin.
Subverwerkers
Vercel Hosting en levering van de applicatie
Google Firebase Authenticatie en de realtime database met accountgegevens
Amazon S3 Opslag voor geüploade afbeeldingen en audio
Stripe Abonnementsbetalingen en facturatie
OpenAI Genereert content wanneer een docent de AI-assistent gebruikt

Alles waar het platform van afhankelijk is. Geen enkele andere partij ontvangt account- of spelersgegevens.

7

Waar de gegevens worden opgeslagen

Twee instellingen, bewust onafhankelijk van elkaar: de ene bepaalt in welke S3-regio geüploade bestanden staan, de andere in welke databaseregio accountgegevens staan. Een nieuw account begint in de regio die de tijdzone van de browser suggereert — Europa en Afrika krijgen de EU-database — en beide kunnen achteraf worden gewijzigd.

Accountgegevens: een Google Firebase realtime database in de Verenigde Staten (de standaard) of in europe-west1, België.
Bestanden: een Amazon S3-bucket in us-west-1 (Californië) of eu-north-1 (Stockholm). Bestaande bestanden blijven werken na een overstap.
Accountgegevens naar de andere regio verplaatsen gebeurt als migratie op de achtergrond en vereist een betaald abonnement.
8

Verwijdering, bewaartermijn en melding van datalekken

Alles wat een docent maakt, kan die docent verwijderen — direct, zonder supportverzoek. Een activiteit verwijderen verwijdert ook wat spelers ervoor hebben ingestuurd.

Verwijder één resultaat en het is weg; verwijder een activiteit en de inhoud, statistieken en spelersregistraties gaan mee.
Het account verwijderen wist de activiteiten, mappen, voorinstellingen, betalingsgegevens en de login zelf.
Er is geen vaste bewaartermijn: gegevens blijven staan tot de accounthouder ze verwijdert.
Na een datalek krijgen accounthouders een e-mail van het contact hierboven met wat er is gebeurd, wie erdoor geraakt is en wat het voor hen betekent.
9

Insluiten, LMS en de API

De meeste scholen gebruiken Puzzel.org ingesloten in iets wat ze al hebben — een Canvas-pagina, een schoolsite, een blog. Activiteitenpagina's zijn de enige die een andere site mag framen; de rest van het platform weigert framing volledig.

Canvas: via een LTI-launch kiest een docent een van zijn eigen activiteiten en zet die als insluiting in de pagina.
Al het andere: kopieer de insluitcode en plak die in een willekeurige pagina — geen integratiewerk nodig.
Een REST API kan activiteiten aanmaken vanuit je eigen systemen, met een limiet van 10 verzoeken per dag per sleutel.
Er hoeft niets eerst in Puzzel.org geïmporteerd te worden — geen synchronisatie van klassenlijsten, geen upload van leerlingen.
10

Licenties, inkoop en betaling

Het schoolabonnement is een jaarlicentie voor één schoolaccount met ruimte voor collega's, afgestemd op het aantal spelersessies dat je per maand verwacht. Het schaalt nooit vanzelf op naar een naheffing: jij kiest de omvang en kunt die verhogen wanneer je wilt.

Een inkooporder werkt als die per kaart of bankoverschrijving betaald kan worden. Cheques kunnen niet worden geaccepteerd — het bedrijf is niet in de VS gevestigd.
Betalingen lopen via Stripe, dus kaartgegevens bereiken nooit de eigen systemen van Puzzel.org.
Heb je een formeel document nodig voordat je bestelt? De offertetool maakt een PDF-offerte met de gegevens van je school erop.
Het schoolabonnement in het kort
Prijs per jaar
€125 / $150
Docentaccounts inbegrepen
5
Spelersessies per maand
5 000
Opschalen
1 000 extra sessies per maand voor €25 / $30 per jaar
Zonder abonnement
2 activiteiten en 60 spelersessies per maand, gratis
Is hier nog iets onduidelijk? Vraag het gewoon — juridische pagina's waar een e-mail achteraan moet, zijn slecht geschreven.