Anti Shoulder Surfing Attack Platform (ASSAP)
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Anti Shoulder Surfing Attack Platform (ASSAP)

Build Status Build status

ASSAP is a multiplatform tool whose aim is to stablish deffensive measures against shoulder surfing attack, technique used for getting confidential information.

The application has different security measures that can be configured by the users depending on the moment of use. ASSAP is designed to be simple to use so that anyone without knowledge can activate and use it, preventing other people from obtaining their confidential data such as passwords, bank accounts, private data, etc.


The size of the application window is small in order not to disturb user work. Furthermore, it is draggable to place it where least bothers in each moment.

The user will have ASSAP window over the other ones to know what is happening behind him.

The application can be stopped if the user does not need the security feature.



When the Shoulder Sourfing Attack is detected, the tool executes an action. There are several actions that can be configured, as shown below:

  1. Reduce Brightness
  2. Lock Screen
  3. Notification


  • The application detects the faces in different positions and even if someone is hidden behind a hand.

  • Notification sent after detecting shoulder surfing.

Getting Started

These instructions will get you a copy of the project up and running on your local machine.


It's necessary to have node (>9) and npm(>5) installed. (It has been tested with node 9.11.2 and npm 5.6.0)

Check installed Versions

npm -v
node -v


Dependencies installation

Linux & Mac
npm install
  1. Install Python 2.7 (

    1. Open the Control Panel (easy way: click in the Windows search on your task bar, type “Control Panel,” then click the icon).
    2. In the Control Panel, search for Environment; click Edit the System Environment Variables. Then click the Environment Variables button.
    3. In the System Variables section, you will need to either edit an existing PATH variable. If you’re editing an existing PATH, the values are presented on separate lines in the edit dialog. Add Python path Ex: C:\Python27.
    4. Open CMD and check python is installed with the command python --version.
  2. Install node-gyp.

npm install -g node-gyp
  1. Install node package for Windows (It takes a while, be patient).
npm install --global --production windows-build-tools 
  1. Install project dependencies.
npm install 

How to run

npm run electron:serve

How to build

npm run electron:build

Extending actions

For implementing new actions it is necessary to modify the file src/utils/actions.js.

  1. Add the action name to the list this.availableActions.
  2. Create one the function with the funcionallity to launch the action.
  3. Add the function to the executeAction() function.
  4. If it's necessary, create a function to reverse the action and add it to the reverseAction() function.

Built with

  • Electron - The Framework used for creating the multiplatform app
  • VueJS - Progressive JavaScript Framework
  • PugJS - Template Engine
  • SASS - CSS extension language
  • Face-api.js - Used for face detection



This project is licensed under the MIT License - see the LICENSE file for details