Software Design Document
Software Title: Cookie/Tracker Tracker
Functional Description & Overview
The application purpose is to provide a web browser extension that tracks the cookies websites
leave behind on a user’s computer. The extension will serve as a tool to help users understand what
websites they visit are tracking them in addition to getting a quick simple overview of what type of
data is being stored and tracked. As a opens a website the extension will indicate through a badge
whether the current website has any cookies saved to the device. When the user clicks on the
extension badge a small min report (how many trackers, and if the site has stored cookies) for the
current website will be shown, with an option to view a more detailed report is shown. At the end
of a tab sessions a copy of the report for the site is then transmitted to a server via a REST API to be
stored so when users switch devices they can log back in and gain access to their data.
The user interface should be a very clean, elegant, and simple. When the user first downloads the
app and opens it, they should be presented with an option to login in with Gmail, Facebook, and
custom in house login. When a website has cookies and/or trackers a red mini circle with a count of
how many trackers should appear on the top right corner, and a yellow count of how many cookies
should be shown on the bottom right corner. When the use clicks on the extension badge if there
are no trackers or cookies then a simple message ("This website has no trackers or cookies") should
be displayed. At all times and button to view all past data should be present at the bottom of the
extension modal. When the button is clicked a new separate tab should open and display all
websites that the user has visited alphabetically. Each item in the list will have a view more option
that opens a modal view of a list of each version of cookie and a count of trackers as well who they
• As a user when I click on the extension if I am not logged in I expect to see an option to
• As a user when if I am logged in, I expect to be able to view all my data the extension has
• As a user when I open the extension detail view, I expect to see a detailed report of all
trackers that have tracked me as well as what data cookies have on me.
• As a user when I close a Tap, I expect all data collected to be sent to the backend to store the
• As a user when I visit a website, I expect to the extension to show an indication of how many
cookies and/or trackers are on the website.
• As a user when I see an indication that the current website has trackers or cookies, I expect
to be able to click on the extension and view a summary of what has been collected.
This project will be using a Modal View Controller (MVC) architecture approach. For this part of the
development all that is required is the View portion. The Modal and Controller will be built
separately. For the purpose of testing Mock objects should be used to simulate data being sent and
received from the backend. The backend will use a REST API to send user data from the server to
the extension and from the extension to the server. To make things easier API route names can be determined by the developer.