A Type System for Data Privacy Compliance in Active Object Languages
Chinmayi Prabhu Baramashetru (University of Oslo, Norway), Paola Giannini (Universita' del Piemonte Orientale, Italy), Silvia Lizeth Tapia Tarifa (University of Oslo, Norway), Olaf Owe (University of Oslo, Norway)

TL;DR
This paper introduces a type system for active object languages that automatically enforces GDPR compliance by tracking data flows and user consent, integrating privacy checks into system execution.
Contribution
It presents a novel language-based approach combining static and runtime techniques to ensure data privacy compliance in software systems.
Findings
Type system enables automatic GDPR compliance verification.
Framework supports tracking of user consent and data flow constraints.
Demonstrated soundness and practical applicability through examples.
Abstract
Data protection laws such as GDPR aim to give users unprecedented control over their personal data. Compliance with these regulations requires systematically considering information flow and interactions among entities handling sensitive data. Privacy-by-design principles advocate embedding data protection into system architectures as a default. However, translating these abstract principles into concrete, explicit methods remains a significant challenge. This paper addresses this gap by proposing a language-based approach to privacy integration, combining static and runtime techniques. By employing type checking and type inference in an active object language, the framework enables the tracking of authorised data flows and the automatic generation of constraints checked at runtime based on user consent. This ensures that personal data is processed in compliance with GDPR constraints.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
