A Cross-Platform Desktop Client for Dataset Anonymization
Graasp Insights is an open-source desktop client for dataset anonymization built with Electron.js. After loading a dataset into the application, a user can run anonymization scripts on the dataset, selecting from scripts built into the application, or writing their own scripts (in Python) via an in-app editor. The application runs completely on a user's local device, and its code is open-source and freely available (GitHub repository). It has initially been optimized to work on datasets generated by the Graasp educational platform.
See the Graasp Insights user guide for guidance on how to use the application.
For more information on the application, please visit the Graasp Insights landing page.
You can get the latest official distribution from our GitHub release channel or the Graasp Insights landing page.
Graasp Insights (the 'software') and its source code are freely distributed under the GNU Affero General Public License (AGPLv3). The software and source code are provided to you “as is”, without warranty of any kind, express or implied. Without limiting the generality of the foregoing, the Graasp Association and École Polytechnique Fédérale de Lausanne (EPFL) make no representation or warranty regarding the functionality, reliability, or performance of the software, or the results to be obtained through the use of the software, or that the operation of the software shall be error-free. In no event shall the Graasp Association or EPFL be liable to you or any third party for any damages arising from the use of Graasp Insights, including but not limited to the distribution, misuse, leakage, or theft of any original files or datasets or duplicates thereof handled, processed, or generated by the software.
To run Graasp Insights on your device, make sure you have Node installed on your operating system. We strongly recommend that you use the Yarn package manager, so that the commands in package.json
are executed seamlessly. However, these commands have npm
equivalents, and you can use the default Node Package Manager (NPM) instead.
Once you have Node and Yarn/NPM installed, copy or clone the repository to your local machine, preferably using Git.
Inside the project directory, run yarn
to install the application's dependencies. In the project's root directory, you will need to create a file called .env.local
with the following contents:
GH_TOKEN=
BROWSER=none
REACT_APP_GOOGLE_KEY=
The GH_TOKEN
is an environment variable used for releasing new versions of the application. If you want to create your own distribution of Graasp Insights, you can add your GH_TOKEN
here and use electron-builder
to manage releases on GitHub.
The BROWSER=none
assignment instructs Electron not to use a web browser to load the application, but instead to use the native operating system's windows.
When you first run or build the application, a file called env.json
will be created under the /public
folder. If you update your .env.local
and .env
files with values for the variables in env.json
, the contents of this file will also update the next time you run or build. This process is handled by scripts/setup.js
.
You are now ready to launch Graasp Insights! Simply run yarn start
in your terminal, and the application will be launched.
Please submit any contributions, ideas, or issues you identify to the application's GitHub repository.
Run yarn dist
. MacOS systems can build the application for all other systems. Windows can only create a distribution for Windows.
Licenses are displayed to the user during the application installation. The configuration follows the instructions for electron-builder
. When building the application on macOS, the license saved in public/license_en.txt
is used for all distributions, including for windows' .exe
executable.
However, a build on Windows requires a windows-encoded license public/windows_license.txt
to deal with special characters.