mirror of https://github.com/offen/offen.git synced 2024-07-21 14:20:26 +02:00
Mirror of github.com/offen/offen
Go to file
2024-06-28 08:50:00 +00:00
.circleci repo: drop extension 2024-03-20 21:56:16 +01:00
.github distribution: drop digital ocean pre-built droplet support 2024-04-25 19:50:55 +02:00
.reuse extension: automate collection of checksums file 2022-08-14 11:49:10 +02:00
auditorium auditorium: cases where children of paragraph element are not strings are not considered 2024-05-19 20:56:05 +02:00
build build: use go 1.22 2024-03-12 20:00:54 +01:00
docs build(deps): bump rexml from 3.2.5 to 3.2.8 in /docs 2024-05-16 19:00:27 +00:00
integration build(deps): bump ws from 7.5.9 to 7.5.10 in /integration 2024-06-19 17:09:27 +00:00
LICENSES relicense offen icon / logo as cc-by-nc-nd-4.0 2020-07-01 15:10:06 +02:00
locales locales: update translation strings 2024-04-25 09:45:41 +02:00
packages vault: ensure links in banner respect locale 2024-04-25 10:25:45 +02:00
script script: relative paths in canonical links need to be resolved 2024-05-21 18:28:34 +02:00
server Ignore errors during SMTP client closing 2024-05-17 10:24:09 +02:00
test-site script: relative paths in canonical links need to be resolved 2024-05-21 18:28:34 +02:00
vault vault: ensure links in banner respect locale 2024-04-25 10:25:45 +02:00
.dockerignore repo: update dockerignore file 2021-03-19 08:03:18 +01:00
.editorconfig vault: collect geolocation derived from timezone data 2021-09-30 15:24:27 +02:00
.gitignore repo: ignore extension artifacts 2022-09-01 10:22:34 +02:00
AUTHORS repo: clean up READMEs and other docs 2021-05-27 08:58:45 +02:00
banner.txt repo: update copyright headers 2022-09-01 10:42:55 +02:00
CODE_OF_CONDUCT.md add missing license headers to source files, check REUSE compliance in CI 2020-06-11 17:02:54 +02:00
CONTRIBUTING.md docs: update README and CONTRIBUTING 2021-07-08 16:30:23 +02:00
create_notice.py script: prevent needless redirect on loading vault 2021-05-01 11:06:19 +02:00
docker-compose.docs.yml docs: upgrade just-the-docs jekyll theme 2021-05-06 13:33:45 +02:00
docker-compose.integration.yml implement server side checking for password policy 2020-06-25 21:44:33 +02:00
docker-compose.yml server: use go-native embed for static assets 2021-02-25 12:37:51 +01:00
Dockerfile.golang dev: use compose v2, fix git warning in go container 2024-03-12 21:25:13 +01:00
Dockerfile.node build: install correct freefont package 2022-02-03 16:07:09 +01:00
Dockerfile.ruby dev: docs setup requires ruby update 2024-03-12 21:38:05 +01:00
LICENSE relicense as Apache 2.0 2019-10-10 12:44:00 +02:00
Makefile dev: use compose v2, fix git warning in go container 2024-03-12 21:25:13 +01:00
merge_messages.sh do not wrap messages in po files 2021-01-14 11:01:52 +01:00
nginx.conf dev: smarter proxying to development auditorium 2021-04-27 18:03:42 +02:00
nginx.docs.conf add license info to docs site 2020-06-19 21:27:00 +02:00
NOTICE vendor datepicker stylesheet and include in build pipeline 2021-01-25 18:48:47 +01:00
README.md docs: update project status 2024-05-24 11:04:43 +02:00
SECURITY.md repo: clean up READMEs and other docs 2021-05-27 08:58:45 +02:00

Offen Fair Web Analytics logo

Offen Fair Web Analytics

CircleCI License Docs Awesome Humane Tech REUSE status

Let your users access their data.
Gain valuable insights at the same time.
Open, lightweight, self hosted and free.




Core features

Secure & free
Our code is open source. All usage data is encrypted end-to-end. Offen Fair Web Analytics will always be available for free.

Self hosted
Comply with GDPR guidelines. No ads, no third parties involved. Offen Fair Web Analytics uses first-party cookies only.

Fair & by choice
Opt-in only. Users must actively give their consent to data collection. They have full access to their data.

How it works

Your job

  • Self host Offen Fair Web Analytics while protecting your users' data.
  • Integrate the code snippet into pages you want to track.
  • Make your users aware of the access to their data.
  • Improve your services with fair and transparent insights.

Benefits for your users

  • Opt in to data collection or decide to not participate at all.
  • Review own data with detailed explanations of metrics and terms.
  • Only delete usage data or opt out completely at any time.

What you see
Data of all pages where your installation is active. For example:

Example A

What your users see
Data of all pages a user has visited where your installation is active. For example:

Example B

More features

  • Easily analyze multiple websites within one installation.
  • All website accounts can be shared within teams.
  • User data is only stored for 6 months and then deleted.
  • A detailed documentation on how to run Offen Fair Web Analytics is available.

Essential metrics

All important statistics that help you to improve your service.
Filter collected data by URL, Location, Referrer, UTM parameters, as well as Landing Pages and Exit Pages. Essential metrics


Privacy friendly
Collection of usage data is opt in, users that do not actively opt in will never leave a trace. After opt in, Offen Fair Web Analytics collects the minimal amount of data needed to generate meaningful statistics for operators. No IPs, User-Agent strings or similar are being collected or even looked at.

Data in Offen Fair Web Analytics is encrypted End-To-End. Clients encrypt usage data before it leaves the browser and there is no way for the server storing this data to decrypt it. Attackers have no means to compromise an instance, accidental data leaks cannot expose user data.

Self hosted and lightweight
You can run Offen Fair Web Analytics on-premises, or in any other deployment scenario that fits your need. All you need to do is download a single binary file or pull a Docker image, and run it on your server. Offen Fair Web Analytics will automatically install and renew SSL certificates for you if you want it to. If you do not want to deploy a dedicated database, you can use SQLite to store data directly on the server.

Transparent and fair
Offen Fair Web Analytics treats the user as a party of equal importance in the collection of usage data. Users have access to the same set of tools for analyzing their own data and they can delete their data at any time.


Offen Fair Web Analytics is currently available in English, French, German, Portuguese, Spanish and Vietnamese. Our consent banner and the Auditorium for operators as well as users can be displayed in the respective locale.

If you want to support fair web analytics by contributing Italian, Dutch, Polish or other language versions, don't hesitate to request an invite.


Our consent banner is customizable in color, shape and basic font specifications to match your design. Learn more.

Test drive

Give Offen Fair Web Analytics a test drive right now. Open your terminal and type:

curl https://demo.offen.dev | bash

This creates an ephemeral one-off installation that is populated with random data and is running on http://localhost:9876. There, you can log in using the account demo@offen.dev and password demo.


Work in this repository is licensed under multiple licences.

  • All original source code is licensed under Apache-2.0.
  • All documentation is licensed under Apache-2.0.
  • The Offen Fair Web Analytics icon and logo are licensed as CC-BY-NC-ND-4.0.

See the NOTICE file for license information on works that get bundled by Offen Fair Web Analytics.

Feedback and contributions welcome

Found an issue or want to add something? Please do not hesitate to file an issue or open a pull request (or send an email in case you don't want to use GitHub). For details on how to get started head over to our contributing guidelines.

This repository contains all source code needed to work on Offen Fair Web Analytics, both on the server as well as on the client. The development setup requires docker and the compose plugin to be installed.

After cloning the repository

$ git clone git@github.com:offen/offen.git

you can build the containers and install dependencies using:

$ make setup

Next seed the database for the server application:

$ make bootstrap

You can test your setup by starting the application:

$ make up

which should enable you to access http://localhost:8080/auditorium/ and use the Auditorium

Run the tests for all subapplications using

$ make test

Detailed instructions on how to get started with development can be found at our dedicated docs site.

The documentation site at https://docs.offen.dev is also part of this repository. To run this site locally, you can:

make setup-docs
make docs

This will serve the documentation site on https://localhost:4000.

Kind support

NLnet Foundation

We are happy to work with NLnet Foundation, which has supported our efforts as part of its Next Generation Internet initiative.

Cross-Browser testing provided by BrowserStack.

Who's using Offen Fair Web Analytics?

We're happy to feature you in this README. Send a PR adding your site or app to this section.