Privas - Assuring privacy in data exploring systems

The technology of nowadays allows to easily extract, store, process and use information about individuals and organizations. The increase of the amount of data collected and its value to our society was, at first, a great advance that could be used to optimize processes, find solutions and support decisions but also brought new problems related with lack of privacy and malicious attacks to confidential information.

Privas enables, among other things, to anonymize databases. It should be used by data publishers to protect information from attacks controlling the desired privacy level and the data usefulness. In order to specify these requirements a DSL (PrivasL) is used and the automatization of repository transformation, that is based on language processing techniques, is the novelty of this work.

The tool

The Privas tool was built as a two separate pieces of software.

As the main component, Privas framework that enables to preserve the privacy in different types of repositories, by using a description of the repository, and the privacy needs (PrivasL description).

The web platform offers a visual tool to describe the repositories and its needs and to generate the PrivasL description.

To better understand each one of these components the Dissertation file that produced this work is advised.

Next, for each component, it is given the steps to compile and run them.

The framework

Compile the framework
                mvn package

The privas framework can be compiled using the maven package compilation.

Run framework
                java -jar target/privas.jar FILENAME_PRIVASL

The privas framework should be started using the java compiler command, using the parameters of the PrivasL file.


PrivasL description
    Path: "fileCSV.csv"

        data [ &age, &work_class, &education_num, &marital_status,
            &occupation, &race, &sex, &native_country ]

Prevent from: [ recordLinkage ]

To run the example you can start by downloading this census CSV.

The PrivasL description of the CSV can be found on the right. This information can also be downloaded here.

Run privas with census CSV
                java -jar target/privas.jar /users/me/Downloads/census.csv

This example, can then be executed with the command on the right.

Privas, with this specification will transform the CSV and anonymize the age information.

The web platform

The Privas' web platform was designed as a separate application.

Its purpose is to generate PrivasL files through a visual framework.

This platform can also load existing PrivasL and perform changes to it.


Compile the web platform
                ./gradlew build

The webplatform should be compiled using the maven package command. This will generate the executable needed to run the platform


Run the web platform
                ./gradlew bootRun

The platform should be then runned using the java command presented on the right.

To access the web platform, it should be available in:


Below there are some screenshots of the web platform.


During the research, a deep analysis of the current state-of-the-art in data privacy was performed. This analysis allowed to have a better overview of the evolution of the data privacy preservation and the different ways to achieve this preservation. In the end, and as a way to group this knowledge, multiple ontologies were built. These ontologies represent the different concepts and relationships existing in data privacy.

Next a simplified version of a full ontology is present. In the end there also exist links to consult the full ontology and the two other different ontologies produced.

A simplified PPDP ontology

Other ontologies

Other information

Privas was developed during a master thesis.

It was built as a modular software, to allow future extensions. The ways Privas can be extended is by: