Hoe het werkt
De architectuur: IMAP-transport → lokale opslag → analyse
GravesMail gebruikt de IMAP-server van uw e-mailprovider uitsluitend als transportlaag. Ik lees nooit uit IMAP om berichten weer te geven — dat zou traag en onbetrouwbaar zijn. In plaats daarvan gebeurt het volgende:
- Ophalen via IMAP — Berichten worden via een versleutelde verbinding gedownload van de server van uw provider.
- Klaarzetten in de DMZ — Nieuwe berichten komen in een lokale tussenopslag (SQLite) terecht voordat u ze ziet.
- Beveiligingsanalyse in 7 lagen — Elk bericht en elke bijlage doorloopt op uw computer alle zeven Beschermingslagen, inclusief de YARA-malwarescan.
- Filteren met Snelle regels — Berichten die overeenkomen met uw persoonlijke Snelle regels worden automatisch door uw regel afgehandeld: apart gezet in de Spamval ter controle, verplaatst of verwijderd.
- Doorzetten naar Postvak IN, Spam of Malware — Schone berichten bereiken uw Postvak IN. Spam gaat naar Spam. Berichten waarin malware is gevonden gaan naar een aparte map Malware; gevaarlijke bijlagen worden eruit gehaald en tegengehouden.
- Van server verwijderen (optioneel) — Als u “Van server verwijderen” hebt ingeschakeld, wordt het bericht bij uw provider verwijderd.
SQLite is de enige bron van waarheid. Alles wat u in de interface ziet komt uit uw lokale database, niet uit IMAP.
Synchronisatie in twee fasen voor grote postvakken
Wanneer u voor het eerst een account koppelt — zeker een met duizenden berichten — werkt GravesMail in twee fasen:
Fase 1 (Snelle start): De 500 nieuwste berichten per map worden eerst opgehaald, doorgaans in minder dan een minuut. U kunt direct beginnen met lezen en werken.
Fase 2 (Achtergrondsynchronisatie): De overige berichten worden ongemerkt op de achtergrond gedownload. Een voortgangsindicator in de statusbalk toont het voltooiingspercentage en de geschatte resterende tijd. U kunt op elk moment onderbreken, hervatten of stoppen. De voortgang wordt opgeslagen als u de app sluit.
De zeven Beschermingslagen
Elk binnenkomend bericht en de bijlagen ervan doorlopen zeven onafhankelijke Beschermingslagen. Elke laag zoekt naar een ander soort probleem en beslist zelfstandig. Als één enkele laag alarm slaat, wordt het bericht als spam behandeld — er wordt geen gemiddelde genomen en er is geen gecombineerde score die moet worden gehaald. Eén alarm is genoeg. Dit is het model “OF over 7 lagen”.
1. Domeinvalidatie
Bestaat het domein van de afzender, en heeft het echte mailservers? Is de extensie van het adres (het TLD, zoals .shop, .top, .click of .xyz) er een die vaak door spammers wordt misbruikt?
2. Bayesiaans filter
Een aangeleerd oordeel over hoe sterk de woorden in het bericht op spam lijken. Het wordt vooraf getraind geleverd en leert daarna van u — elke “Markeren als spam” of “Markeren als geen spam” maakt het slimmer.
3. Headerverificatie
SPF, DKIM en DMARC — de standaardcontroles die aantonen dat een afzender is wie hij zegt te zijn.
4. Heuristische score
41 detectoren voor patronen in inhoud en headers: vermomde woorden (H0ME, S4LE), bewoordingen van voorschotfraude en erfenisoplichting, vervalste headers, afwijkende datums en het land van herkomst van de afzender.
5. Reputatie
Uw lijsten met veilige en geblokkeerde afzenders, de afzendergeschiedenis en het volgen van campagnes over meerdere berichten heen — waarmee een spammer wordt betrapt die steeds van afzenderdomein wisselt maar dezelfde bronserver, dezelfde host voor de payload of dezelfde afmeldlink hergebruikt.
6. Malware: systeemantivirus
Op Windows worden bijlagen via de AMSI-interface aangeboden aan uw geïnstalleerde antivirusprogramma (Windows Defender, Norton, Bitdefender, Kaspersky en andere). Deze laag is niet beschikbaar op macOS, Linux of mobiel — en op die platforms zegt de laag dat ronduit, in plaats van een schoon resultaat te melden dat nooit is vastgesteld.
7. Malware: YARA
Scant de bytes van bijlagen en de berichttekst op duizenden malwaresignaturen van de community uit de repository Neo23x0/signature-base. Detecteert trojans, ransomware, RAT’s, schadelijke Office-macro’s, PDF-exploits en phishingdocumenten. Draait op elk platform, ook mobiel, en wordt ingebouwd meegeleverd voor offline gebruik.
Eerlijke rapportage — geen valse zekerheid
Open de Eigenschappen van een bericht voor een uitsplitsing per laag: de score van elke laag, de drempel waarbij de laag alarm slaat, en de status — Alarm, Schoon of Niet beschikbaar. Wanneer een scanner niet kon draaien, meldt GravesMail “Niet beschikbaar”. Dat wordt nooit als “Schoon” weergegeven. Een antivirusprogramma dat niet start en dan toch schoon meldt, is het ergste soort beveiligingsprogramma, omdat u vertrouwt op een oordeel dat nooit werkelijk is geveld.
Op het scherm Beveiligingsengine (Extra → Beveiligingsengine, of Instellingen → Beveiligingsengine op mobiel) stelt u elk van de zeven lagen afzonderlijk af met een gevoeligheidsschuifregelaar van 0–100% — 0% schakelt een laag uit, 100% is het gevoeligst. Er is geen algemene regelaar; u stelt de lagen een voor een af. Hetzelfde scherm toont de actuele status van de malwarescanners, een editor voor het landenbeleid en een alleen-lezen overzicht van elke detector en hoe zwaar die meetelt.
Geolocatie zonder opzoeking
De heuristische laag kijkt naar waar een bericht vandaan komt. Die opzoeking is volledig lokaal. GravesMail wordt geleverd met een ingebouwde tabel van landen en IP-bereiken en raadpleegt die op uw apparaat — er zijn geen DNS-query’s, geen aanroepen van externe API’s en er zit geen dienst van derden tussen. De metagegevens van uw berichten verlaten uw apparaat nooit om de locatie te bepalen.
U bepaalt wat het resultaat betekent. Op het scherm Beveiligingsengine kunt u landen markeren als Veilig (geen extra spamsignaal) of Bedreiging (een sterk signaal). Beide lijsten zijn aanvankelijk leeg, zodat gewone internationale e-mail nooit wordt benadeeld totdat u een beleid kiest.
IP-geolocatiegegevens van DB-IP (db-ip.com), gelicentieerd onder CC BY 4.0.
Externe afbeeldingen blokkeren en trackingpixels verwijderen
Afzenders kunnen in een e-mail externe afbeeldingen opnemen die vanaf hun servers worden geladen. Wanneer de afbeelding wordt geladen, komt de afzender uw IP-adres te weten, dat u de e-mail hebt geopend, wanneer u dat deed en welk apparaat u gebruikte.
GravesMail blokkeert externe afbeeldingen standaard. Daarnaast detecteert en verwijdert het onzichtbare trackingpixels (afbeeldingen van 1×1 die uitsluitend dienen om te volgen of een bericht is gelezen). Dit zijn onafhankelijke instellingen — u kunt afbeeldingen laden zonder trackers te laden, of andersom.
End-to-end-versleuteling (OpenPGP)
GravesMail ondersteunt OpenPGP — de open, interoperabele standaard voor end-to-end versleutelde en ondertekende e-mail. U kunt vertrouwelijke e-mail uitwisselen met iedereen die PGP gebruikt, op elk e-mailsysteem (Proton Mail, Thunderbird, gpg en andere), niet alleen met andere GravesMail-gebruikers. Dit is echte PGP/MIME, geen GravesMail-dialect.
Sleutels
Genereer een sleutel in PGP-sleutelbeheer — Ed25519/Curve25519 wordt aanbevolen, en RSA-4096 is beschikbaar voor compatibiliteit met oudere PGP-software. Exporteer uw openbare sleutel zodat anderen u kunnen schrijven, en importeer die van hen om hun te schrijven. Na het importeren toont GravesMail de vingerafdruk van de sleutel; bevestig die met de persoon via een ander kanaal — een telefoongesprek, of persoonlijk — en markeer de sleutel als geverifieerd. Een niet-geverifieerde sleutel werkt wel, maar blijft als niet geverifieerd gemarkeerd, want die markering betekent precies één ding: u hebt nog niet bevestigd dat deze sleutel echt van die persoon is.
Sleutels worden geïdentificeerd aan de hand van de vingerafdruk, niet het e-mailadres. Twee sleutels voor één adres is normaal — een oude en een nieuwe, of een RSA- en een Ed25519-sleutel naast elkaar — dus elke actie werkt op de sleutel die u hebt geselecteerd, niet op de eerste die toevallig bij het adres past.
U kunt een sleutel aan een contactpersoon koppelen, zodat versleutelen naar die persoon gewoon werkt zonder dat u in het sleutelbeheer hoeft te zoeken. Een sleutel koppelen schakelt versleuteling niet in; die kiest u nog steeds per bericht.
Als u uw geheime sleutel kwijtraakt, is elk bericht dat er ooit naar is versleuteld voorgoed onherstelbaar. Niet door mij, niet door wie dan ook. Gebruik Back-up van geheime sleutel maken om een met een wachtwoord beveiligd back-upbestand op een veilige plek op te slaan, en onthoud het wachtwoord. Geheime sleutel herstellen haalt de sleutel terug op een nieuw of opnieuw geïnstalleerd apparaat en bevestigt welke sleutel is hersteld door de identiteit en de vingerafdruk te tonen. Het verwijderen van een van uw eigen geheime sleutels is onomkeerbaar, dus GravesMail maakt de waarschuwing zwaarder en laat u bevestigen.
Verzenden en lezen
Opstellen heeft een regelaar Beveiliging met drie standen — Ondertekenen, Versleutelen of Ondertekenen + versleutelen (aanbevolen voor vertrouwelijke e-mail). Standaard staat hij uit, zodat gewone e-mail ongewijzigd blijft. Versleutelde e-mail die u ontvangt, wordt automatisch ontsleuteld en toont een gesloten hangslot 🔒; ondertekende e-mail toont de status van de handtekening, en een ongeldige handtekening wordt nadrukkelijk getoond, niet onopvallend. Een bericht dat is versleuteld naar een sleutel die u op dat apparaat niet hebt, zegt dat uitdrukkelijk in plaats van u een lege berichttekst te tonen.
Wanneer u versleutelde e-mail verzendt, versleutelt GravesMail die ook naar uw eigen sleutel, zodat de kopie in uw map Verzonden items voor u leesbaar blijft. Zonder dat zou uw eigen bewaarde kopie niet te ontsleutelen zijn. Dit staat altijd aan.
De regel die niet buigt
Als u voor versleutelen kiest en een ontvanger geen bruikbare sleutel heeft, wordt het verzenden geblokkeerd. GravesMail stopt en vraagt: annuleren, of uitdrukkelijk kiezen voor onversleuteld verzenden — een bewuste tweede handeling waarbij de ontvangers die risico lopen worden genoemd, nooit een standaardkeuze en nooit automatisch. Er is geen codepad waarin de keuze voor versleuteling stilletjes een verzending in platte tekst oplevert. Dat wordt afgedwongen in de engine zelf, niet alleen in de interface, en het wordt gedekt door een geautomatiseerde test.
Wat PGP beschermt, en wat niet
PGP versleutelt de berichttekst en de bijlagen. Het verbergt niet de onderwerpregel, de velden Aan/Van/Cc of wanneer een bericht is verzonden — die reizen onversleuteld mee. Dat is dezelfde beperking die elk PGP/MIME-systeem heeft, ook Proton; het is geen tekortkoming van GravesMail, maar u moet het weten voordat u erop vertrouwt.
PGP beschermt uw e-mail onderweg — tegen onderschepping en tegen uw e-mailprovider. Het is geen hulpmiddel tegen forensisch onderzoek: eenmaal ontsleuteld wordt e-mail in de lokale versleutelde database van GravesMail bewaard, zodat u die offline kunt doorzoeken en lezen.
Nog twee beperkingen, ronduit gezegd: GravesMail zoekt niet automatisch op sleutelservers of via WKD en heeft geen web of trust — u importeert sleutels zelf en verifieert vingerafdrukken zelf, een bewuste keuze om niet op een netwerkdienst te hoeven vertrouwen voor wie iemand is. En inline ondertekende berichten in leesbare tekst (clearsigned) worden als leesbare tekst getoond zonder verificatie van de handtekening; GravesMail geeft ze weer in plaats van een handtekening te claimen die het niet werkelijk heeft gecontroleerd.
Interoperabiliteit
De PGP van GravesMail is in beide richtingen geverifieerd tegen GnuPG — de referentie-implementatie van OpenPGP — met door GravesMail gegenereerde sleutels, voor zowel Ed25519 als RSA-4096: GravesMail versleutelt en gpg ontsleutelt, gpg versleutelt en GravesMail ontsleutelt, en handtekeningen worden in beide richtingen geverifieerd. Dat is een geautomatiseerde testsuite, geen eenmalige handmatige controle.
Proton Mail is ook bevestigd — met de hand, niet met een geautomatiseerde test. Er is echte versleutelde e-mail in beide richtingen verzonden en gelezen tussen GravesMail en een actief Proton-account. Bij dat testen zijn ook drie echte fouten gevonden en verholpen: de strenge sleutelvalidatie van Proton die de Ed25519-sleutels van GravesMail afwees, een fout met het verlopen van sleutels, en bijlagen die bij het ontsleutelen stilletjes uit versleutelde e-mail verdwenen. Alle drie zijn verholpen, en de interoperabiliteit met Proton werkt in beide richtingen.
Thunderbird heb ik niet specifiek op PGP getest, dus dat claim ik hier niet. Het is een standaard OpenPGP-client en het zou moeten werken, maar “zou moeten” is niet hetzelfde als geverifieerd, en ik vertel u liever wat werkelijk is gecontroleerd.
Met een wachtwoord beveiligde e-mail (geen sleutel nodig)
PGP is het juiste middel wanneer degene met wie u mailt ook PGP gebruikt. Als dat niet zo is — en de meeste mensen gebruiken het niet — gebruik dan de onderstaande optie met wachtwoordbeveiliging.
Soms moet u iets vertrouwelijks sturen aan iemand zonder versleutelingssleutels en zonder speciale software — alleen een gewoon e-mailaccount. De optie Met wachtwoord beveiligen (geen sleutel nodig) van GravesMail sluit uw bericht en eventuele bijlagen in een echte, standaard met AES-256 versleutelde ZIP, die de ontvanger op elk platform met gratis, gewone software opent.
Hiervoor wordt de industriestandaard WinZip AES-256 (AE-2) gebruikt — dezelfde sterke versleuteling die 7-Zip, Keka en de archiefapps voor mobiel al begrijpen. Het is geen container die alleen GravesMail kent, en het is niet het zwakke, kraakbare “ZipCrypto” dat oudere ZIP-programma’s gebruikten. De interoperabiliteit is aangetoond met echte standaardarchiefsoftware, en de AE-2-versleutelingsindeling van het archief is vastgelegd in een geautomatiseerde test — wat de deur uitgaat is dus een werkelijk standaardbestand, niet iets wat alleen tussen twee exemplaren van dezelfde app lijkt te werken.
Wat er werkelijk wordt verzonden is één bijlage, protected-message.zip. Uw echte bericht en alle bijlagen zitten daar versleuteld in; de zichtbare berichttekst bevat alleen instructies in gewone taal om het te openen. De namen van bijlagen in het archief worden vervangen door neutrale aanduidingen, en de echte namen staan in een versleuteld manifest dat verschijnt zodra de ontvanger het wachtwoord invoert — de bestandsnamen lekken dus ook niet uit.
Bij het verzenden vraagt GravesMail u een sterk wachtwoord in te stellen (minstens 12 tekens met hoofdletters en kleine letters, twee cijfers en twee symbolen), met een controlelijst die direct wordt bijgewerkt en een bevestigingsveld, zodat een typefout de ontvanger nooit kan buitensluiten. Daarna toont het het wachtwoord één keer, met een knop Kopiëren, en herinnert het u eraan het via een ander kanaal door te geven — telefonisch, per sms of via chat. GravesMail biedt nooit aan het wachtwoord te e-mailen, en slaat het nergens op en verzendt het nergens naartoe. GravesMail kan beveiligde berichten die het ontvangt ook zelf ter plekke openen, op elk platform.
De volledige beveiliging is het wachtwoord — kies een goed wachtwoord en deel het via een ander kanaal dan de e-mail zelf. Er is geen vervaldatum en geen “zelfvernietiging”; die zijn zonder server niet af te dwingen, en GravesMail werkt met lokale opslag voorop, dus ik claim ze niet. De ZIP versleutelt de inhoud van bestanden, niet de structuur van het archief, dus wie het bericht onderschept kan nog steeds zien hoeveel bestanden erin zitten en ongeveer hoe groot ze zijn en welke tijdstempels ze hebben — alleen niet hun namen of hun inhoud. En het onderwerp van de e-mail, Aan/Van en het tijdstip reizen nog steeds onversleuteld mee, zoals bij elke e-mail.
Snelle regels: uw persoonlijke e-mailtriage
Met Snelle regels maakt u triageregels met één klik voor bepaalde afzenders, domeinen of onderwerppatronen. Elke regel krijgt een eigen knop op de werkbalk. Wanneer u een regel op een bericht toepast, wordt de afzender automatisch toegevoegd aan de lijst met overeenkomsten van die regel — de regel wordt slimmer naarmate u hem gebruikt.
Een regel kan overeenkomende e-mail naar de Spamval sturen om ter controle apart te zetten, naar een map verplaatsen, verwijderen of na een aantal dagen automatisch verwijderen. Regels kunnen zo worden ingesteld dat ze tijdens de synchronisatie automatisch worden toegepast, zodat overeenkomende berichten uw Postvak IN nooit bereiken, en u kunt hele mappen in seconden scannen om oude e-mail in één keer te vangen. Alles wat een regel heeft gevangen kan op elk moment worden gecontroleerd, teruggezet of definitief verwijderd.
Uw regels gaan vóór het spamfilter. Een bericht dat met een van uw regels overeenkomt, wordt door uw regel afgehandeld voordat het spamfilter het kan omleiden — een afzender voor wie u een regel hebt geschreven, belandt dus niet ten onrechte in Spam. Het filter draait nog steeds en geeft het bericht nog steeds een score, en u kunt het oordeel zien in Eigenschappen; het gaat alleen niet boven uw regel. De enige uitzondering is malware: de malwarescan wint altijd, dus een regel kan nooit een gevaarlijke bijlage in uw Postvak IN afleveren.
De lijst Gefilterd toont alles wat door al uw regels samen is gevangen binnen een voortschrijdend tijdvenster (1 tot 96 uur op de desktop, standaard 24). Elke controlelijst — Regels, Gefilterd en Spam — heeft een eigen zoekvak.
Open een gevangen bericht en het eerste tabblad is Veilig voorbeeld: het bericht weergegeven zoals het er in uw leesvenster uit zou zien, maar met scripts onschadelijk gemaakt, trackingpixels geblokkeerd en externe afbeeldingen alleen geladen voor vertrouwde afzenders. Het heeft de knoppen Beantwoorden, Allen beantwoorden en Doorsturen, zodat u een gevangen bericht kunt beantwoorden zonder het eerst naar uw Postvak IN terug te zetten — het bericht blijft waar het is en uw antwoord gaat als gewoon bericht de deur uit.
Tegengehouden bijlagen
Wanneer YARA of uw systeemantivirus malware in een bijlage detecteert, voert GravesMail automatisch de volgende acties uit:
- Bericht apart gezet — verplaatst naar een speciale map Malware, gescheiden van Spam.
- Bijlage verwijderd — het gevaarlijke bestand wordt uit het bericht gehaald. De berichttekst blijft behouden, zodat u kunt zien wie het heeft verzonden.
- Gegevens blijven bewaard – de bytes van de bijlage worden lokaal bewaard. Via Tegengehouden bijlagen kunt u elk tegengehouden item bekijken, zien waarom het is tegengehouden, het op schijf opslaan als u het vertrouwt, of het definitief verwijderen. Tegengehouden items blijven bewaard tot u beslist; ze gaan nooit ongemerkt verloren.
- Volledige uitleg – de berichteigenschappen laten precies zien welke YARA-regel of antivirusengine is afgegaan, om welk bestand het ging en welke actie is ondernomen.
U kunt ook op elk moment met de rechtermuisknop op een bijlage klikken en Scannen op malware kiezen om een scan op aanvraag uit te voeren. YARA-regels kunnen handmatig worden bijgewerkt in Instellingen of automatisch volgens een wekelijkse planning.
Automatische versleutelde back-ups
GravesMail maakt automatisch versleutelde back-ups van uw hele profiel – niet alleen van uw e-maildatabase, maar ook van uw contactpersonen, agenda, regels, lijsten met veilige en geblokkeerde afzenders, afgestelde drempels, afzenderreputatie, getrainde spamfilter, PGP-sleutelring en opgeslagen aanmeldingsgegevens van accounts. (Bestanden die met de app worden meegeleverd en bij een update worden vervangen, zoals de geografische opzoektabel en het basismodel voor spam, worden bewust weggelaten.)
- Volledige back-ups – een complete kopie van het profiel, versleuteld met AES-256
- Differentiële back-ups – alleen wat is gewijzigd sinds de laatste volledige back-up; bij het herstellen wordt de keten automatisch teruggelopen
- Momentopnamen vóór bewerking – vóór elke destructieve bewerking (scan met Snelle regels, opschonen, prullenbak legen)
U regelt de planning in Back-upbeheer: ofwel een interval (uit, dagelijks, wekelijks of een aangepast aantal uren, met elke N dagen een volledige back-up), ofwel een weekraster waarin elke dag is ingesteld op Geen, Volledig of Differentieel. De bewaarlimieten voor volledige back-ups, differentiële back-ups en momentopnamen zijn instelbaar en verwijderen nooit uw enige kopie.
Hoe deze back-ups worden versleuteld
De geplande en handmatige back-ups van GravesMail zelf worden verzegeld met een hoofdsleutel voor back-ups die de app voor u genereert en beheert. De sleutel zelf wordt nooit onversleuteld naar schijf geschreven – alleen ingepakte kopieën worden opgeslagen, en hij wordt op twee manieren ingepakt:
- De beveiligde sleutelopslag van uw apparaat – zodat routineback-ups geruisloos verlopen, zonder dat er ooit om een wachtwoord wordt gevraagd.
- Uw herstelwachtwoordzin – die dezelfde sleutel op elke computer uitpakt, zonder dat er een sleutelopslag aan te pas komt.
Die tweede verpakking maakt deze back-ups onafhankelijk van het apparaat. Eerdere versies bonden automatische back-ups aan één fysieke computer; ze zijn nu niet langer alleen te herstellen op de plek waar ze zijn gemaakt.
U stelt de herstelwachtwoordzin één keer in, de eerste keer dat u een back-up maakt. Hij is verplicht en kan niet worden overgeslagen – een back-up wordt pas voltooid als er een is ingesteld, juist zodat u nooit blijft zitten met back-ups die u niet kunt herstellen. Daarna verlopen back-ups zonder verdere vragen. U kunt de wachtwoordzin op elk moment wijzigen in Back-upbeheer; na een wijziging blijven alle bestaande back-ups te herstellen.
Het is de enige manier om deze back-ups te herstellen op een nieuw of opnieuw ingesteld apparaat, en ik kan hem niet voor u achterhalen – dat is zo ontworpen. Er is geen herstelkoppeling en geen achterdeur voor ondersteuning, want beide zouden een ingang zijn voor iemand die u niet bent. Als u de wachtwoordzin vergeet en het apparaat kwijtraakt, kunnen die back-ups niet worden geopend. Bewaar hem op een veilige plek.
In Back-upbeheer kunt u door de inhoud van elke back-up bladeren, in alle back-ups zoeken, een back-up vergelijken met uw huidige database en afzonderlijke berichten selectief terugzetten. Bij het herstellen wordt eerst gecontroleerd of de back-up volledig en intact is, voordat er iets aan uw huidige profiel verandert – een afgekapte of beschadigde back-up wordt geweigerd en uw bestaande gegevens blijven onaangeroerd – en na afloop ziet u per gegevensset wat er is teruggekomen.
Verwijderlogboek en herstel
Elk verwijderd bericht wordt met de volledige berichttekst vastgelegd in een lokaal verwijderlogboek. U kunt verwijderde berichten tot 90 dagen lang (instelbaar) doorbladeren, doorzoeken en met één klik terugzetten. Er is geen back-upbestand nodig – terugzetten gebeurt direct vanuit het verwijderlogboek.