← Nieuwste papers
⚡ electrical engineering

Harpocrates: A Statically Typed Privacy Conscious Programming Framework

Dit paper introduceert Harpocrates, een voor Scala ontworpen framework dat privacybeleid via statische typen en 'oblivious membranes' direct aan data koppelt, waardoor ruwe data wordt uitgesloten en beleidscontrole wordt gecentraliseerd voor eenvoudige onderhoud en updates zonder aanpassingen in afhankelijke applicaties.

Oorspronkelijke auteurs: Sinan Pehlivanoglu, Malte Schwarzkopf

Gepubliceerd 2026-02-20
📖 4 min leestijd☕ Koffiepauze-leesvoer

Oorspronkelijke auteurs: Sinan Pehlivanoglu, Malte Schwarzkopf

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je een groot, drukke fabriek hebt (een computerprogramma) waar je de meest gevoelige geheimen van mensen verwerkt: hun e-mailadressen, hun gezondheidscijfers, hun bankrekeningen. In de huidige wereld van software is het vaak zo dat deze geheimen als naakte waarheid door de fabriek lopen. Als een werknemer (de programmeur) per ongeluk een doosje met deze naakte waarheid op de verkeerde plek zet, of als een machine (een externe dienst) de doos opent die hij niet zou mogen openen, is het geheim weg.

De auteurs van dit paper, Sinan en Malte, hebben een oplossing bedacht genaamd Harpocrates. Het is een slimme "veiligheidscoating" voor programmeertaal (Scala) die ervoor zorgt dat gevoelige data nooit meer naakt is.

Hier is hoe het werkt, vertaald naar alledaagse taal:

1. Het Probleem: De "Naakte" Gegevens

Vroeger (en vaak nog steeds) moest een programmeur bij elke stap in het programma handmatig controleren: "Mag ik dit gegeven nu tonen? Mag ik dit e-mailadres naar deze persoon sturen?"
Dit is als een bewaker die bij elke deur in een gebouw moet staan en elke persoon moet controleren. Als de bewaker even slaapt, of als hij een deur vergeet te sluiten, lekt het geheim uit. In grote, complexe systemen is dit bijna onmogelijk goed te doen zonder fouten te maken.

2. De Oplossing: De "Onzichtbare Kooi" (Membranen)

Harpocrates introduceert een nieuw idee: Oblivious Membranes (onbewuste membranen).

Stel je voor dat je in plaats van naakte data, alles in een onzichtbare, onbreekbare kooi stopt zodra het de fabriek binnenkomt.

  • De Kooi: Zodra een e-mailadres of naam wordt aangemaakt, zit het direct in deze kooi. Het kan er niet uit zonder toestemming.
  • Onbewust (Oblivious): Het mooie aan deze kooi is dat de rest van de fabriek er niets van merkt. De machines en werknemers kunnen de kooi gewoon oppakken, verplaatsen, en er zelfs mee werken alsof het een gewone doos is. Ze hoeven niet te weten dat er een kooi omheen zit. Ze hoeven hun werk niet te veranderen.
  • De Poortwachter: De enige plek waar de kooi geopend mag worden, is bij de uitgang van de fabriek (bijvoorbeeld naar een database of een e-mailserver). Daar staat een slimme poortwachter (de Policy Check).

3. Hoe werkt de Poortwachter?

De poortwachter heeft een lijst met regels (de Policy).

  • Voorbeeld: "Mag dit e-mailadres naar band X worden gestuurd?"
  • De poortwachter kijkt in de lijst. Als band X is opgezegd (unsubscribe), zegt de poortwachter: "Nee, de kooi blijft dicht."
  • Als de regels het toestaan, opent de poortwachter de kooi even, laat het bericht eruit, en sluit de kooi direct weer.

Het slimme is: De regels staan op één centrale plek. Als de wet verandert (bijvoorbeeld een nieuwe privacywet), hoeft de programmeur alleen de regels van de poortwachter aan te passen. Hij hoeft niet bij elke machine in de fabriek de deuren te gaan controleren. De rest van de fabriek weet niets van de verandering; voor hen werkt alles nog steeds hetzelfde.

4. Waarom is dit beter dan oude methoden?

In het paper vergelijken ze dit met andere methoden:

  • Monaden (De "Gordijnen"): Oudere methoden vereisten dat je elke doos zelf in een gordijn wikkelt. Als je dat vergeet, is het geheim kwijt. Harpocrates doet dit automatisch.
  • Statische controles (De "Vaste Regels"): Sommige systemen kijken alleen naar de code en zeggen: "Dit mag niet." Maar in het echte leven hangt het vaak af van situaties die je pas later weet (bijv. "Heeft deze gebruiker zich afgemeld?"). Harpocrates kijkt pas naar de regels op het moment dat de data de deur uitgaat, dus het is flexibeler.

5. Wat hebben ze getest?

Ze hebben dit systeem getest in een echte applicatie voor muzikanten (Vizion).

  • Resultaat: Het kostte ze heel weinig tijd om het systeem te bouwen (slechts een paar regels code toevoegen).
  • Snelheid: Het systeem werd iets trager (ongeveer 8% tot 11% langzamer), maar dat is als het betalen voor een extra beveiligingscontrole. Het is de moeite waard om te voorkomen dat data lekt.
  • Gemak: De programmeurs hoefden niet meer te piekeren over "waar moet ik nu de controle zetten?". De software deed het automatisch.

Samenvatting in één zin

Harpocrates is als een slimme, onzichtbare beschermingslaag die gevoelige data automatisch in een veilig vakje stopt zodra het wordt gemaakt, en alleen laat zien wat mag worden gezien, zonder dat de programmeur constant hoeft te controleren of de deuren wel dicht zijn.

Het maakt privacy niet langer een lastige taak voor programmeurs, maar een standaard eigenschap van de software zelf.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →