Dit document is opgesteld voor gebruik in samenhang met de overige ForgeWise-documentatie. In geval van tegenstrijdigheid gelden de afspraken uit de ondertekende overeenkomst en eventuele verwerkersovereenkomst of SLA.
1. Hoe wij data beschermen
ForgeWise Recall is ontworpen met privacy en beveiliging als uitgangspunt. Meetingdata blijft van de klant. ForgeWise verwerkt deze data uitsluitend voor het leveren en beveiligen van de Dienst.
2. Beveiligingsaanpak
- Versleuteling van gevoelige data tijdens transport en opslag
- Toegangsbeheer en authenticatie
- Logging en monitoring
- Beperking van toegang op basis van rollen en bevoegdheden
- Periodieke updates en onderhoud
- Beveiligingsmaatregelen tegen misbruik, brute force en ongeautoriseerde toegang
- Waar nodig inzet van gescheiden klantomgevingen of afgescheiden infrastructuur
3. Data-encryptie
- In transit: TLS 1.3 via Caddy reverse proxy met HSTS-preload
- At rest: gevoelige data (transcripten, analyses, API-sleutels) versleuteld met AES-256-GCM met tenant-specifieke sleutels en per-record random nonces
- Wachtwoorden: bcrypt met 12 rounds, nooit in platte tekst of in logs
- Sleutels en tokens: sessietokens via Auth.js v5 met rolling refresh; externe API-sleutels (Anthropic, Resend, etc.) encrypted-at-rest in de tenant-settings-tabel
- Rate-limiting: login-pogingen per e-mailadres gelimiteerd om brute-force tegen te gaan (10 pogingen per 5 min)
Encryptie in twee niveaus: standaard (Tier 1) is alle gevoelige data versleuteld opgeslagen, wat beschermt tegen database-leaks, losgemaakte back-ups en onbevoegde app-toegang. Voor organisaties met strengere eisen biedt Tier 2 een klant-beheerde passphrase, waarbij de data ook met serverbeheer niet te ontsleutelen is (zie §7). Ons volledige bedreigingsmodel delen we desgewenst in een security-whitepaper of bij een DPIA.
4. Verwerking en infrastructuur
ForgeWise Recall draait per klant op dedicated EU-infrastructuur (Hetzner Online, Duitsland/Finland). Audio blijft op deze server en verlaat de tenant-omgeving niet.
Voor AI-analyse wordt uitsluitend het getranscribeerde tekstfragment als prompt naar AWS Bedrock in Frankfurt (eu-central-1) gestuurd. De regio is expliciet vergrendeld; geen doorgifte buiten de EU. Anthropic (Bedrock-provider) gebruikt klantdata niet voor modeltraining. Klanten kunnen deze externe doorgifte uitschakelen ten gunste van een volledig lokale Ollama/Gemma-analyse zonder dataverkeer buiten de eigen server.
Multi-tenant isolatie in PostgreSQL via Row-Level-Security plus Prisma-filtering op elke query. Admins kunnen uitsluitend data van hun eigen tenant benaderen.
Incident-monitoring via zelf-gehost GlitchTip (Sentry-compatibel) in Nederland. Pipeline-errors bevatten stacktraces en meeting-ID tags, géén transcript-inhoud.
5. Dataretentie
- Audio-opnames worden automatisch verwijderd na maximaal 7 dagen, tenzij eerder verwijderd
- Transcripties en analyses blijven beschikbaar zolang het account actief is, tenzij eerder verwijderd
- Na beëindiging van de Dienst wordt data verwijderd binnen de daarvoor geldende bewaartermijn, in beginsel uiterlijk binnen 30 dagen, tenzij een wettelijke bewaarplicht anders voorschrijft
6. Authenticatie en toegangsbeheer
- Single Sign-On via Google of Microsoft Entra ID (Azure AD)
- Lokale accounts met bcrypt-password-hashing en rate-limit op login
- Multi-factor authenticatie via de identity provider
- Auth.js v5 sessiebeheer met rolling refresh-tokens
- Per-meeting ACL met rollen owner / editor / viewer naast tenant-brede rollen ADMIN / MEMBER
- Support-accounts hebben tijdsgebonden toegang met automatische deactivering bij verlopen
- Webhook-URL's worden DNS-gevalideerd en uitsluitend https — private/loopback/metadata-IP's worden geweigerd (SSRF-bescherming)
- Audit logging van authenticatie, toegang, edits en support-acties
7. Encryptie-tiers
ForgeWise Recall ondersteunt drie oplopende niveaus van encryptie-bescherming. Klanten kiezen het niveau dat past bij hun risicoprofiel en compliance-eisen.
- Tier 1 — Standaard (AUTH_SECRET): de master-sleutel leeft in de server-omgeving van de klant. Data is versleuteld in de database, audit- en back-up bestanden bevatten geen leesbare inhoud. Root-access op de server geeft echter toegang tot de sleutel. Geschikt voor MKB zonder extreem verhoogd risicoprofiel. Dit is de standaard bij oplevering.
- Tier 2 — Passphrase (klant-beheerd): bij activering wordt een extra klant-specifieke passphrase toegevoegd. De werkende sleutel bestaat alleen in het geheugen tijdens een actieve gebruikerssessie. ForgeWise-operators kunnen zonder die passphrase de content niet ontsleutelen, ook niet met root-access. Geschikt voor organisaties met strengere compliance-eisen (zorg, juridisch, finance). Let op: als de passphrase verloren gaat, is versleutelde data permanent ontoegankelijk.
- Tier 3 — AWS KMS (op de roadmap): sleutels beheerd in AWS KMS Frankfurt met CloudTrail-audit, automatische key-rotatie en hardware-gebaseerde isolatie. Enterprise-optie voor organisaties met een formeel key-management-beleid.
De huidige Tier 2-implementatie vereist expliciete activering per tenant. Wij adviseren deze voor iedere klant waarvoor data-exfiltratie via een gecompromitteerde serverhost een reëel risico is. De keuze wordt contractueel vastgelegd in de verwerkersovereenkomst.
8. E-mail en notificaties
Notificaties en e-mailfunctionaliteit kunnen, afhankelijk van de gekozen inrichting, via de mailomgeving van de klant of via een daarvoor ingerichte e-maildienst verlopen.
De feitelijke inrichting is afhankelijk van de gekozen configuratie en de afspraken met de klant.
Responsible Disclosure
9. Meldingen van beveiligingskwetsbaarheden
Wij nemen de beveiliging van onze software en klantdata serieus. Als u een beveiligingskwetsbaarheid aantreft, vragen wij u deze verantwoord aan ons te melden zodat wij passende maatregelen kunnen nemen.
Meldingen kunnen worden gedaan via security@forgewise.ai.
10. Responsible Disclosure richtlijnen
Wij vragen onderzoekers:
- Meldingen te doen via security@forgewise.ai
- Voldoende informatie te geven om het probleem te begrijpen en te reproduceren
- Geen misbruik te maken van de kwetsbaarheid
- Geen data te downloaden, wijzigen, wissen of openbaar te maken
- Geen beschikbaarheidsaanvallen uit te voeren
- Geen gebruik te maken van social engineering, phishing of fysieke aanvallen
- Ons een redelijke termijn te geven om het probleem te onderzoeken en, waar nodig, te verhelpen voordat openbaarmaking plaatsvindt
11. Wat wij toezeggen
- Wij bevestigen ontvangst van een melding binnen 3 werkdagen
- Wij geven binnen 10 werkdagen een initiële inschatting (geldig / duplicaat / out-of-scope / need-more-info)
- Wij behandelen de melding vertrouwelijk en koppelen terug over voortgang en voorgenomen publicatiedatum
- Wij zullen geen juridische stappen ondernemen wegens het enkele doen van een melding binnen deze richtlijnen (safe harbor voor te-goeder-trouw-onderzoek)
- Bij erkende, ernstige meldingen kunnen wij naar eigen inzicht een bedankje of credit in een security-advisory bieden; wij hanteren geen formeel bug-bounty-programma
12. In scope
- recallapp.forgewise.ai + recall.forgewise.nl (klant-omgevingen) en alle door ForgeWise beheerde tenant-subdomeinen
- De ForgeWise Recall applicatie-code en publieke API-endpoints
- Authenticatie-, autorisatie- en tenant-isolatie-mechanismen
- Onderdelen van encryptie- en toegangsbeveiliging onder beheer van ForgeWise
- Webhook- en integratie-interfaces (SSRF, injection, signature-validatie)
13. Buiten scope
- Denial of Service- of DDoS-aanvallen
- Social engineering en phishing
- Fysieke beveiliging van kantoren of datacenters
- Kwetsbaarheden in software van derden, tenzij deze direct onderdeel zijn van de door ForgeWise beheerde Dienst
14. Contact
Securitymeldingen: security@forgewise.ai
Algemene vragen: info@forgewise.ai
ForgeWise B.V., Brielle, Nederland