Privacy Argumentation


Privacy Argumentation (PriArg) is a framework that protects users’ privacy in online social networks through argumentation. Each user in a social network (e.g., Facebook) is represented by an agent, which is a computer program that can perceive, reason and act on behalf of its user. Agents have to be fully aware of their users’ privacy constraints and social network knowledge to act on behalf of them. Therefore, each agent is equipped with an ontology. When an agent wants to share a post in an online social network, it starts a discussion with other relevant agents (e.g., a tagged agent in a picture) to decide whether the post can be shared or not. Discussion is conducted with a well known structured argumentation approach; assumption-based argumentation. With this approach, agents are able to express their claims through arguments, understand the reason behind an argument and persuade other agents that their claim is true. We believe argumentation has a big potential for protecting privacy in online social networks with its capability to handle inconsistent knowledge.


We provide four example scenarios to show the capability of PriArg. When a user wants to share a post in an online social network, her agent starts an argumentation session with other relevant agents. Each agent provides arguments to express its claims. These arguments are constructed using  rules, assumptions and facts. Therefore in each scenario, agents provide SWRL rules, assumptions and facts from their ontology to express themselves.


We provided social network users Example 1 through an online survey and a personal interview. Then, we asked them whether the post can be shared or not when according to the information in the scenario. At last, we compared their decision with PriArg results. In the first part of the experiment, we collected the demographic information of participants. In the second part of the experiment, we provided Scenario 1 and asked participants whether the post can be shared or not.

Demographic questions for Personal Interview and Online Survey


Online Survey

We provided participants new information in each step. Participants answered the questions by considering all of the information that are provided them so far.


Personal Interview



You can download PriArg by clicking here. Follow the instructions below to try the current version in your computer. Current version is available only for Ubuntu OS. However, you can also try PriArg online by clicking here.

Installation Instructions

  1. Install a server (e.g., tomcat) in your computer.
  2. Install Sicstus prolog in your computer by following this link.
  3. Download abagraph by following this link. Abagraph looks for prolog files under data folder. If there is no data folder under abagraph folder, create one. Make sure that the data folder is writable by your server user. PriArg will put newly created files in this folder.
  4. Sicstus uses file to calculate the result of an argumentation. is located under the code folder of abagraph. Give permission to access every file under the code folder.
  5. Abagraph uses graphviz to create a graphical representation of the argumentation. You can download graphviz from here.
  6. Download priargdemo.war file. Open file under the WEB-INF folder. includes paths to the sicstus, the data file and the Update these paths according to the installations in your computer.
  7. Put priarg.war under webapps folder under your server.
  8. Check your localhost. Type the scenario name that you want to run in the text field and click the discuss button. The four scenarios that are explained in the example scenarios section can be tested in PriArg.

Important Notes

  • Agents provide each other arguments during the argumentation. An argument is supported by rules. However, revealing privacy rules may also violate the privacy of an agent.  PriArg uses an abstraction mechanism to prevent such violations. Each agent specifies an abstraction level, which is set to 0 by default. Before an agent provides its privacy rule to another agent, it will first take each predicate in the rule.  Then it will find the parent entity of these predicates in its ontology. At last, it will change the original predicate with the parent predicate. Thus, agents provide reasons without giving specific details.
  • In PriArg, agents may have four type of profiles. Profile of an agent specifies where the information that the agent uses comes from ( i.e., from its own ontology or from the ontology of other agents). By default, each agent in PriArg has profile 4. So that, an agents first searches for information in its own ontology. In case it cannot find the necessary information, it  asks other agents in the social network for the information.


  • An Argumentation Approach for Resolving Privacy Disputes in Online Social Networks (to appear)
    Kökciyan Nadin, Yaglikci Nefise, Yolum Pınar. In: ACM Transactions on Internet Technology (TOIT)
  • Argumentation for Resolving Privacy Disputes in Online Social Networks (Extended Abstract) [URL] [PDF]
    Kökciyan Nadin, Yaglikci Nefise, Yolum Pınar. International Conference on Autonomous Agents and Multiagent Systems (AAMAS), pp. 1361-1362, 2016
  • Argumentation for Protecting Users’ Privacy in Online Social Networks (Master thesis)
    Yaglikci, N.G. (2016). Bogazici University, İstanbul, Turkey.