Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Onion Launchpad Onion Launchpad
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 9
    • Issues 9
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
    • Model experiments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • The Tor Project
  • Onion Services
  • Onion LaunchpadOnion Launchpad
  • Issues
  • #66

Frontend support for Matomo analytics

Onion Launchpad implementation of Matomo analytics according to this proposal.

Requirements

  1. The feature MUST be disabled by default, and enabled only if some environment variables are set (like the analytics endpoint and a site ID/key).
  2. There MUST be documentation stating that this feature, even with a better configuration in terms of privacy, could still be a point of collecting access data without passing to the Tor network for better anonymization. And also would rely on additional JavaScript code embedded in the landing page.
  3. Services operators MUST be recommended to host the backend only behind an HTTPS proxy without IP logging (and without passing the source IP to the backend, so if there's any backend vulnerability it won't be possible to attackers to discover user's IP addresses). Or even better: leave the backend behind an Onion Service.
  4. There MUST be a consent UX informing users what and how it's collected, and asking for authorization. No cookies should reside in the client machine.

Implementation details

  • Plug the Clean Insights JS SDK or the Matomo JS SDK into Onion Launchpad.
  • Enable the metrics collection only if explicitly set by an environment variable during build time.
  • Implement a consent UX.
  • Implement the page hits collection.
  • Document the analytics collection threat model (subsection "Landing page metrics" of this link/comment).

Scope

This ticket covers:

  • Basic functionality without censorship protection for the metrics system.
  • Description: in this phase, the whole implementation is completed.

This ticket does not cover:

  • The backend development.
  • Implementing censorship protection for the metrics system.
  • Content and styling for the consent UX (handled in a distinct ticket).
Edited Jan 19, 2023 by Silvio Rhatto
Assignee
Assign to
Time tracking