Privacybeleid
HackSimulator.nl slaat minimale data op in je browser (localStorage). We gebruiken Google Analytics om bezoekersstatistieken te verzamelen, en alleen als je daar toestemming voor geeft. We verkopen geen data en loggen geen gevoelige informatie. De simulator zelf draait volledig lokaal in je browser. Meld je je aan voor de nieuwsbrief, koop je een gids of doneer je? Dan komen er drie partijen bij kijken; die staan in paragraaf 5.1.
1. Wie zijn wij?
HackSimulator.nl is een educatief platform voor het leren van ethisch hacken via een gesimuleerde terminal. Deze website is een MVP (Minimum Viable Product) en wordt beheerd door een individuele ontwikkelaar.
Contact: Voor vragen over privacy: contact@hacksimulator.nl
2. Welke data verzamelen we?
2.1 Data opgeslagen in je browser (localStorage)
De volgende data wordt lokaal in je browser opgeslagen en verlaat je apparaat NIET:
| Data Type | Doel | Voorbeeld |
|---|---|---|
| Filesystem state | Bewaar je terminal filesystem tussen sessies | Bestanden die je hebt aangemaakt/verwijderd |
| Command history | ↑↓ pijltjestoetsen navigatie | Volledige commands inclusief argumenten — alleen lokaal |
| Onboarding status | Toon gepersonaliseerde welkomst | first_visit flag, command_count |
| Help system status | Progressive hints tracking | Error count voor hints |
| Cookie consent | Je cookie voorkeuren onthouden | analytics_consent: true/false |
Belangrijk — lokaal vs. verzonden: Je command history wordt
volledig (inclusief argumenten) in je eigen browser bewaard zodat ↑↓ werkt,
maar verlaat je apparaat nooit. Naar onze statistieken (Google Analytics) sturen
we uitsluitend de naam van een command, nóóit de argumenten: we tellen bijvoorbeeld
"ping", maar "ping hacktarget.com" wordt niet verzonden. Je wist de lokale history met het
history -c-command of via je browserinstellingen.
2.2 Analytics data (Google Analytics 4)
Als je cookies accepteert, verzamelen we anonieme bezoekersstatistieken via Google Analytics 4:
| Metric | Doel | Privacy |
|---|---|---|
| Sessieduur | Hoe lang blijven gebruikers? | Anoniem, geen PII |
| Aantal commands | Welke commands worden gebruikt? (alleen naam, geen args) | Anoniem, geen PII |
| Device type | Desktop vs. mobile usage | Anoniem, geen PII |
| Browser type | Cross-browser compatibility | Anoniem, geen PII |
| Errors | Bug tracking (error type, niet content) | Anoniem, geen PII |
[✓] IP Anonymization: Je IP-adres wordt geanonimiseerd door Google Analytics (laatste octet verwijderd).
2.3 Data die we niet verzamelen
- [✗] Geen persoonlijke identificeerbare informatie (PII)
- [✗] Geen command arguments (privacy risk)
- [✗] Geen email adressen, namen, of contactgegevens
- [✗] Geen wachtwoorden of credentials (alles is gesimuleerd)
- [✗] Geen tracking over andere websites (geen cross-site tracking)
- [✗] Geen locatie data (behalve land-niveau via Analytics)
3. Waarom verzamelen we deze data?
| Rechtsgrondslag (AVG) | Data Type | Doel |
|---|---|---|
| Gerechtvaardigd belang | localStorage (functioneel) | Website functionaliteit (terminal state bewaren) |
| Toestemming (opt-in) | Google Analytics cookies | Website verbetering, usage metrics |
4. Hoe gebruiken we je data?
4.1 localStorage data
- Blijft lokaal in je browser, wordt NOOIT naar servers verzonden
- Gebruikt voor website functionaliteit (filesystem state, history, onboarding)
- Je kunt het verwijderen via je browserinstellingen, of deels via commands
(
resetwist je filesystem,history -cwist je command history)
4.2 Analytics data
- Begrijpen hoe gebruikers de website gebruiken
- Identificeren bugs en verbeterpunten
- Prioriteren van nieuwe features
- Cross-browser/device compatibility testen
5. Met wie delen we data?
5.1 Derde partijen
| Dienst | Doel | Gedeelde data | Privacybeleid |
|---|---|---|---|
| Google Analytics 4 | Bezoekersstatistieken | Anonieme usage metrics (geanonimiseerd IP) | Google Privacy |
| Netlify (hosting) | Website hosting | Server logs (IP, user-agent) - max 30 dagen | Netlify Privacy |
| Netlify Forms | Verwerken van het contactformulier | Naam, e-mailadres, onderwerp en berichttekst die je zelf invult | Netlify Privacy |
| Zoho Mail | E-mailhosting voor contact@hacksimulator.nl | Als je ons mailt: je e-mailadres, de inhoud van je bericht en de gegevens die elke e-mail standaard meedraagt, zoals het tijdstip en de verzendende server. Zoho slaat deze mail op in een datacenter in Nederland. | Zoho Privacy |
| Brevo (voorheen Sendinblue) | Versturen van de nieuwsbrief en de gidsen waar je je voor aanmeldt | Je e-mailadres, plus of en wanneer je de bevestigingsmail hebt aangeklikt. Op pagina's met een aanmeldformulier laden we een stylesheet van Brevo; daarbij ziet Brevo je IP-adres, browser en de pagina waarvandaan je komt - ook als je je niet aanmeldt. | Brevo Privacy |
| Gumroad | Verkoop van de betaalde gidsen | Alles wat je bij Gumroad zelf invult om te betalen. Wij ontvangen geen betaalgegevens; je verlaat onze site zodra je op een koopknop klikt. | Gumroad Privacy |
| Ko-fi | Vrijwillige donaties | Alles wat je bij Ko-fi zelf invult om te doneren. Ook hier verlaat je onze site voordat je iets invult. | Ko-fi Privacy |
Brevo, Gumroad en Ko-fi komen alleen in beeld als je er zelf iets doet: je aanmelden voor de nieuwsbrief, een gids kopen of doneren. Wie alleen de simulator gebruikt, krijgt met geen van drieen te maken - op die ene stylesheet na, die we hierboven expliciet noemen omdat hij ook zonder aanmelding laadt.
Let op: Toekomstige migratie naar Plausible Analytics (privacy-friendly, EU-hosted) is gepland bij 10k+ bezoekers. Plausible heeft geen cookies nodig en is AVG-compliant by design.
5.2 Wat we niet doen
- [✗] We tonen GEEN advertenties
- [✗] We verkopen GEEN data aan adverteerders
- [✗] We delen GEEN data met social media platforms
- [✗] We gebruiken GEEN tracking pixels, en er draait GEEN JavaScript van derde partijen op deze site
- [✗] We doen GEEN cross-site tracking
Die vierde regel verdient een precisering, want "geen tracking" is makkelijker gezegd dan waargemaakt. Op de pagina's met een aanmeldformulier laden we een stylesheet van Brevo - opmaak, geen code. Je browser haalt dat bestand bij Brevo op, en daarbij zien zij je IP-adres en browser. Dat is geen tracking pixel en het volgt je niet over andere sites, maar het is wel contact met een derde partij dat je niet zelf hebt gestart. We noemen het liever dan dat je het zelf in je netwerkverkeer moet ontdekken.
6. Hoe lang bewaren we data?
| Data Type | Bewaartermijn | Verwijdering |
|---|---|---|
| localStorage data | Tot je het verwijdert | Browser settings → Clear Data, of "reset" command |
| Google Analytics | 14 maanden (Google default) | Automatisch na 14 maanden |
| Server logs (Netlify) | 30 dagen | Automatisch na 30 dagen |
7. Je rechten (AVG/GDPR)
Onder de AVG (Algemene Verordening Gegevensbescherming) heb je de volgende rechten:
7.1 Recht op inzage
Je kunt opvragen welke data we over je hebben. Voor localStorage: check je browser DevTools → Application → localStorage.
7.2 Recht op rectificatie
Je kunt onjuiste data laten corrigeren. Voor localStorage: gebruik de "reset" command of browser settings.
7.3 Recht op verwijdering ("recht om vergeten te worden")
Je kunt al je data laten verwijderen:
- localStorage: Browser settings → Clear Site Data, of "reset" command in terminal
- Analytics: Opt-out via cookie banner, of installeer Google Analytics Opt-out Browser Add-on
7.4 Recht op dataportabiliteit
localStorage data is in JSON format en kun je exporteren via browser DevTools.
7.5 Recht op bezwaar
Je kunt bezwaar maken tegen data verwerking. Weiger cookies via de cookie banner.
7.6 Klacht indienen
Je kunt een klacht indienen bij de Autoriteit Persoonsgegevens (AP) in Nederland.
8. Cookies
Zie onze cookiebeleid voor gedetailleerde informatie over cookies.
8.1 Functionele cookies (geen toestemming nodig)
- localStorage voor website functionaliteit (niet technisch een cookie, maar behandeld als zodanig)
8.2 Analytics cookies (toestemming vereist)
- Google Analytics cookies: _ga, _gid, _gat
- Worden alleen geplaatst na expliciete toestemming via cookie banner
9. Beveiliging
9.1 Technische maatregelen
- [✓] HTTPS (SSL/TLS encryptie) voor alle communicatie
- [✓] Content Security Policy (CSP) headers tegen XSS attacks
- [✓] Input sanitization tegen code injection
- [✓] localStorage data is niet toegankelijk voor andere websites (same-origin policy)
9.2 Wat te doen bij datalek?
Bij een datalek informeren we getroffen gebruikers binnen 72 uur via website banner en/of email (indien beschikbaar). We melden het incident ook aan de Autoriteit Persoonsgegevens indien vereist.
Let op: Omdat de meeste data lokaal in je browser staat, is het risico op datalek minimaal. Er is geen centrale database met gebruikersdata.
10. Kinderen en privacy
Deze website is bedoeld voor gebruikers van 16 jaar en ouder, in overeenstemming met de Algemene Verordening Gegevensbescherming (AVG). We verzamelen niet bewust data van kinderen onder de 16 jaar.
Indien je jonger bent dan 16 jaar, vraag dan toestemming aan je ouders/verzorgers voordat je deze website gebruikt. Wij moedigen ouders aan om toezicht te houden op het online gedrag van hun kinderen.
11. Internationale data transfers
Google Analytics: Data kan worden verwerkt in de VS. Google is gecertificeerd onder het EU-US Data Privacy Framework.
Netlify: Hosting in EU data centers (Amsterdam/Frankfurt). Geen internationale transfers voor hosting.
Zoho Mail: E-mailhosting in het EU-datacenter in Nederland. Geen doorgifte buiten de EER.
12. Updates van deze policy
We kunnen dit privacybeleid updaten. Belangrijke wijzigingen communiceren we via:
- Website banner bij eerste bezoek na update
- "Laatst bijgewerkt" datum bovenaan dit document
- Versienummer wijziging
13. Contact
Voor vragen over dit privacybeleid of je rechten:
- Email: contact@hacksimulator.nl
- Website: HackSimulator.nl
14. Wettelijke basis
Dit privacybeleid is opgesteld conform:
- AVG (Algemene Verordening Gegevensbescherming)
- GDPR (General Data Protection Regulation)
- Telecommunicatiewet (cookie regels)
- Nederlandse wetgeving inzake privacy
- Minimale data verzameling (data minimization)
- Transparantie (deze policy)
- Toestemming waar vereist (opt-in cookies)
- Jouw controle (verwijderen via reset command)
- Beveiliging (HTTPS, CSP, input sanitization)