Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

The website

This repository contains the source code for the website. is an open source project by e. V., a registered non-profit from Germany. We have made it our mission to help you exercise your right to privacy.
Through our website, we offer a generator for GDPR requests as well as access to our company and supervisory authority database (see this repository for the source behind this data) and comprehensive articles on the GDPR and privacy in general.

A screenshot of the homepage

Live versions of the website are currently available in German, English, French, Spanish, Croatian, Dutch, Portuguese, and Czech.

Development is designed as a static website, running on Hugo and Preact.

To build the project locally for development, follow these steps:

  1. Install Yarn 1 (Classic) and the extended(!) version of Hugo (v0.88.1).
  2. Clone the repo and run yarn in the root directory of the repo to fetch all required dependencies.
  3. Run the deploy script (./ to fetch and prepare the required resources from our data repository.
  4. Open two terminal windows. In the first, run yarn dev to start the Webpack file watcher, which will automatically build the JS files. In the second one, run hugo server to have Hugo continuously build the actual website and the SCSS.
  5. Now the website should be served by Hugo on multiple ports, starting from 1313, for the different language versions.

We recommend building and developing on Linux or macOS. If you are on Windows, use WSL.

Windows development tips

Developing on Windows inside WSL

  • Install ripgrep to speed up the merge conflict commit hook.
  • Developing tests with Cypress requires a GUI, which might not work with WSL.

Developing on Windows outside of WSL

  • We do not recommend this, but it's possible.
  • You need to run the script once via some bash-like tool. Use WSL or Git Bash.
  • Use Node LTS and not the latest Node release (otherwise you might get Python errors).
  • To get around file name limitations (#581), run $env:HUGO_DISABLEALIASES="true" in the terminal that will run hugo.
  • Please make sure to only commit LF line endings. Configure your IDE or Git accordingly, or use some conversion tool.
  • Some commit hooks might not work on Windows. You can use git commit --no-verify carefully to get around this.
macOS development tips

Increase the maximum file limit for processes

Because hugo server registers a file watcher for every file in our repo and the number of files can get very large, you might get file watcher related errors. To fix, increase the file limit for processes on your computer (this change is temporary until you restart):

sudo sysctl -w kern.maxfiles=65536

The production builds are done automatically by CircleCI using the script and deployed using dattel, our own static hosting solution (split into a server and client).

For testing, we use CircleCI in combination with Cypress (see more on our browser tests here). We previously used BrowserStack who kindly let us use their services.


First of all, thank you very much for taking the time to contribute! Contributions are incredibly valuable for a project like ours.

We warmly welcome issues and pull requests through GitHub. You can also chat with us through our Matrix space. Feel free to ask questions, pitch your ideas, or just talk with the community.

Please be aware that by contributing, you agree for your work to be released under the MIT license, as specified in the LICENSE file.

If you are interested in contributing in other ways besides coding, we can also really use your help. Have a look at our contribute page for more details.


While you can just contribute translations through this repository, an easier way is through the localisation platform Weblate. We manage our translations through them. There, you can easily help us translate—be it a couple of strings or whole components.

If you're interested in chatting about our translation efforts, join our i18n room on Matrix.