Privacyverklaring
In het kort
- We slaan je wachtwoord niet op onze server op. Het staat versleuteld in een cookie op je eigen apparaat.
- Je gegevens gaan alleen naar de roostersite van school (mmlrooster.msa.nl), en nergens anders heen.
- Geen database, geen accounts, geen advertenties, geen tracking en geen analytics.
- Uitloggen wist alles wat de app op je apparaat heeft bewaard.
- De server staat in de Europese Unie (Frankfurt, Duitsland).
- Deze app is niet van school en niet van Untis; het is een eigen project van een leerling.
- Wie zijn wij
- Wat de app doet
- Welke gegevens
- Je inloggegevens
- Op je apparaat
- Op de server
- Met wie we delen
- Waarom mogen we dit
- Hoe lang
- Beveiliging
- Cookies
- Jonger dan 16
- Je rechten
- Als er iets misgaat
- Relatie met school
- Wijzigingen
- Contact
1. Wie zijn wij
De Rooster-app is gemaakt en wordt beheerd door een leerling van een school van de Montessori Scholengemeenschap Amsterdam (MSA) (hierna: "wij"). Wij zijn verantwoordelijk voor hoe de app met je gegevens omgaat. Je kunt ons bereiken via de gegevens onder Contact.
2. Wat de app doet
De app laat het rooster van de Untis-roostersite van school (mmlrooster.msa.nl) overzichtelijk zien op je telefoon. Die roostersite is beveiligd met je schoolaccount. Daarom log je in de app in met datzelfde schoolaccount. De app logt met jouw gegevens in op de roostersite, haalt het rooster op en toont het. De app voegt zelf geen gegevens toe en verandert niets aan het rooster op school.
3. Welke gegevens we verwerken
| Gegeven | Waarom | Waar |
|---|---|---|
| Gebruikersnaam (leerling- of docentnummer) | Inloggen op de roostersite; je eigen rooster herkennen | Versleuteld op je apparaat; kort in het werkgeheugen van de server tijdens een verzoek |
| Wachtwoord van je schoolaccount | Inloggen op de roostersite | Versleuteld op je apparaat; kort in het werkgeheugen van de server tijdens een verzoek |
| Roostergegevens (vakken, docentcodes, lokalen, klassen, uitval) | Je rooster tonen | Op je apparaat; kort in het werkgeheugen van de server |
| Lijsten met klassen, docentcodes, lokalen en leerlingnummers | Zodat je een rooster kunt kiezen en je eigen rooster herkend wordt | Op je apparaat; kort in het werkgeheugen van de server |
| Je instellingen (gekozen rooster, thema) | De app onthoudt je voorkeuren | Alleen op je apparaat |
| IP-adres | Te veel inlogpogingen afremmen; technische werking | Werkgeheugen van de server, maximaal 15 minuten; zie ook punt 6 |
We verwerken geen namen, e-mailadressen, cijfers, locatie, contacten, foto's of andere gegevens. We vragen er ook niet om.
4. Hoe we met je inloggegevens omgaan
- Na het inloggen worden je gebruikersnaam en wachtwoord versleuteld met AES-256-GCM en in een cookie op je eigen apparaat gezet. Alleen onze server heeft de sleutel om dat te ontsleutelen.
- Bij elk verzoek (bijvoorbeeld als het rooster ververst) stuurt je browser die cookie via een beveiligde HTTPS-verbinding naar onze server. De server ontsleutelt hem in het werkgeheugen, logt in op de roostersite van school en vergeet je gegevens direct daarna.
- Je wachtwoord wordt nooit naar schijf geschreven, niet in een database gezet, niet gelogd en niet gedeeld.
- Wij kunnen je wachtwoord niet inzien of opvragen, ook niet als je erom vraagt.
- Wijzig je je schoolwachtwoord, dan werkt de cookie niet meer en moet je opnieuw inloggen.
Eerlijk over het risico: omdat de server bij elk verzoek even met je gegevens inlogt, kunnen ze in theorie onderschept worden als iemand de server overneemt. We doen er alles aan om dat te voorkomen (zie Beveiliging). Gebruik je hetzelfde wachtwoord ook ergens anders? Dan raden we aan dat te veranderen. Dat is sowieso verstandig.
5. Wat er op je apparaat bewaard wordt
- Cookie "sess": je versleutelde inloggegevens. Bereikbaar voor de server, niet voor scripts op de pagina (httpOnly), alleen via HTTPS (Secure) en alleen voor deze website (SameSite=Strict). Geldig tot maximaal 180 dagen of tot je uitlogt.
- Lokale opslag (localStorage): je gekozen rooster, je thema, de lijsten om roosters te kiezen en de laatst geladen roosters. Daarmee werkt de app snel en zie je je rooster ook zonder internet, en zo kan de app laten zien wat er veranderd is sinds je laatst keek.
- Offline-cache (service worker): alleen de app zelf (opmaak, code, icoon), geen persoonsgegevens.
Als je op Uitloggen tikt (Instellingen → Uitloggen), worden de cookie en alle lokale opslag gewist. Alleen je gekozen thema blijft bewaard.
6. Wat er op de server bewaard wordt
- Geen database en geen gebruikersaccounts. Er is geen lijst van wie de app gebruikt.
- Tijdelijke cache in het werkgeheugen: opgehaalde roosters maximaal ongeveer 1 minuut, de keuzelijsten maximaal 10 minuten. Daardoor hoeft de app de schoolsite minder vaak te belasten. Na een herstart van de server is alles weg.
- Inlogpogingen: om raden van wachtwoorden tegen te gaan, onthoudt de server per IP-adres maximaal 15 minuten hoeveel mislukte pogingen er waren (maximaal 10).
- Geen bezoekerslogboek: de webserver houdt geen lijst bij van bezoeken (access log staat uit).
- Foutmeldingen: bij technische fouten kan de server een korte foutmelding opslaan (bijvoorbeeld "roostersite niet bereikbaar"). Daar staan geen wachtwoorden in. Het foutlogboek van de webserver kan in uitzonderlijke gevallen een IP-adres bevatten.
- Beveiliging van de server zelf: het systeem fail2ban houdt IP-adressen bij die herhaald proberen in te loggen op het beheer van de server (niet op de app), en blokkeert die tijdelijk.
7. Met wie we gegevens delen
- School / roostersite (mmlrooster.msa.nl): daar sturen we je inloggegevens naartoe om je rooster op te halen. Dit is dezelfde site waar je ook zonder de app op inlogt. Wat de school met inlogpogingen doet, valt onder het privacybeleid van de school.
- Hostinger International Ltd.: verhuurt de server (VPS) waarop de app draait, in een datacenter in Frankfurt, Duitsland (EU). Hostinger beheert de hardware, niet de app, en heeft geen toegang tot je gegevens in de app.
- Let's Encrypt: levert het HTTPS-certificaat. Daar gaan geen gegevens van gebruikers naartoe.
We verkopen, verhuren of delen je gegevens met niemand anders. Er zijn geen advertentienetwerken, analysediensten, sociale media of externe lettertypen of scripts in de app. Gegevens gaan niet naar landen buiten de EU.
8. Waarom we dit mogen (grondslag)
We verwerken je gegevens omdat jij de app wilt gebruiken en daarvoor zelf inlogt: toestemming (artikel 6 lid 1 sub a AVG). Je kunt die toestemming altijd intrekken door uit te loggen en de app niet meer te gebruiken. Het IP-adres gebruiken we kort om de app en jouw account te beschermen tegen misbruik: gerechtvaardigd belang (artikel 6 lid 1 sub f AVG).
9. Hoe lang we gegevens bewaren
| Gegeven | Bewaartermijn |
|---|---|
| Inloggegevens op de server | Alleen tijdens het verzoek (milliseconden) |
| Inlog-cookie op je apparaat | Tot je uitlogt, maximaal 180 dagen |
| Roosters in het servergeheugen | Ongeveer 1 minuut |
| Keuzelijsten in het servergeheugen | Maximaal 10 minuten |
| IP-adres bij mislukte inlog | Maximaal 15 minuten |
| Gegevens in lokale opslag | Tot je uitlogt of je browsergegevens wist |
10. Beveiliging
- Alle verbindingen gaan via HTTPS. Gewone HTTP-verbindingen worden automatisch doorgestuurd naar HTTPS.
- Inloggegevens worden versleuteld met AES-256-GCM met een geheime sleutel die alleen op de server staat.
- De app draait onder een eigen gebruiker zonder beheerrechten en mag alleen in zijn eigen map schrijven.
- Een firewall laat alleen de noodzakelijke poorten door; beveiligingsupdates worden automatisch geïnstalleerd.
- Het beheer van de server is beveiligd met SSH-sleutels en fail2ban.
- Te veel mislukte inlogpogingen vanaf één IP-adres worden tijdelijk geblokkeerd.
Geen enkel systeem is 100% veilig. Vind je een beveiligingsprobleem? Meld het via Contact; we lossen het zo snel mogelijk op.
11. Cookies
De app gebruikt één cookie ("sess") om je ingelogd te houden. Dit is een functionele cookie die nodig is om de app te laten werken; daarvoor is geen cookiebanner nodig. We gebruiken geen tracking-, analyse- of advertentiecookies.
12. Ben je jonger dan 16?
De meeste gebruikers zijn leerlingen, en veel van hen zijn jonger dan 16. Bespreek het gebruik van de app dan met je ouder of verzorger. De app verwerkt zo weinig mogelijk gegevens en niets dat niet nodig is om je rooster te tonen.
13. Je rechten
Volgens de AVG heb je onder meer het recht op inzage, correctie, verwijdering, beperking en bezwaar, en het recht je toestemming in te trekken. Omdat we op de server niets over je bewaren, kun je de meeste rechten zelf direct uitoefenen:
- Verwijderen: tik op Uitloggen. Daarmee is alles van jou uit de app weg.
- Inzage: alles wat de app over je weet, zie je in de app zelf (je rooster en je instellingen).
- Correctie: je rooster komt van school. Klopt er iets niet, neem dan contact op met de roostermaker van school.
Heb je een vraag of verzoek, neem dan contact op; we reageren binnen een maand. Ben je het niet eens met hoe we met je gegevens omgaan, dan kun je een klacht indienen bij de Autoriteit Persoonsgegevens.
14. Als er iets misgaat
Als we merken dat er een beveiligingsincident is geweest waarbij gegevens van gebruikers in gevaar zijn gekomen, dan:
- maken we alle bestaande inlog-cookies direct ongeldig door de sleutel te vervangen;
- informeren we de gebruikers via de app en, als dat nodig is, de school en de Autoriteit Persoonsgegevens (binnen 72 uur);
- raden we iedereen aan om direct het schoolwachtwoord te wijzigen.
15. Relatie met school en Untis
Deze app is een onafhankelijk project. Hij is niet gemaakt, beheerd of goedgekeurd door de school, de Montessori Scholengemeenschap Amsterdam (MSA) of Untis / Gruber & Petters. De officiële roostersite van school blijft altijd leidend. Kijk bij twijfel daar of vraag het je docent of de roostermaker.
16. Wijzigingen
Als de app verandert, passen we deze verklaring aan. Bovenaan staat wanneer dat voor het laatst gebeurde. Bij grote wijzigingen laten we dat in de app weten.
17. Contact
Vragen, verzoeken of een beveiligingsprobleem melden? Mail naar contact@hardriven.nl.