Add consent-first analytics privacy controls
This commit is contained in:
32
README.md
32
README.md
@@ -1,9 +1,9 @@
|
||||
# Plimi: Privacy-First Browser Toolbox
|
||||
|
||||
Plimi is a modern, modular, zero-backend utility suite that executes all tools directly inside your browser. No data ever leaves your device.
|
||||
Plimi is a modern, modular utility suite that executes tool processing directly inside your browser. Tool inputs and outputs are not uploaded by Plimi.
|
||||
|
||||
## Features
|
||||
- **Privacy-First Design**: Completely offline-capable. No data is sent to external servers.
|
||||
- **Privacy-First Design**: Tool processing is offline-capable. Optional audience analytics load only after consent.
|
||||
- **Plugin Architecture**: Modular, strictly-typed plugin ecosystem supporting custom UI or generated UI based on schema.
|
||||
- **Web Workers & WASM**: Supports off-loading expensive operations (e.g. PDF manipulation, media processing) into separate threads.
|
||||
- **High Performance**: Built with React, Vite, and Tailwind CSS v4.
|
||||
@@ -36,9 +36,9 @@ npm run build
|
||||
Build and run the static production app with Nginx:
|
||||
|
||||
```bash
|
||||
docker build \
|
||||
--build-arg VITE_PLIMI_REPO_URL=https://github.com/your-org/plimi \
|
||||
-t plimi:local .
|
||||
cp .env.example .env
|
||||
# Edit .env with the real deployment and legal values.
|
||||
docker build --secret id=vite_env,src=.env -t plimi:local .
|
||||
|
||||
docker run --rm -p 8080:80 --name plimi plimi:local
|
||||
```
|
||||
@@ -46,13 +46,33 @@ docker run --rm -p 8080:80 --name plimi plimi:local
|
||||
Or use Docker Compose:
|
||||
|
||||
```bash
|
||||
VITE_PLIMI_REPO_URL=https://github.com/your-org/plimi PLIMI_PORT=8080 docker compose up --build
|
||||
cp .env.example .env
|
||||
# Edit .env, then:
|
||||
docker compose up --build
|
||||
```
|
||||
|
||||
Environment:
|
||||
- `VITE_PLIMI_REPO_URL`: build-time public repository URL shown on the Contribute page.
|
||||
- `VITE_SITE_URL`: canonical public URL used to restrict analytics to the deployed hostname.
|
||||
- `VITE_LEGAL_NAME`, `VITE_LEGAL_COUNTRY`: controller identity shown in the privacy notice.
|
||||
- `VITE_PRIVACY_EMAIL`: contact address for privacy and data-subject requests.
|
||||
- `VITE_PRIVACY_EFFECTIVE_DATE`: effective date displayed on the privacy notice.
|
||||
- `VITE_ANALYTICS_SCRIPT_URL`, `VITE_ANALYTICS_WEBSITE_ID`: Umami tracker configuration.
|
||||
- `VITE_ANALYTICS_HOST`, `VITE_ANALYTICS_HOST_COUNTRY`: analytics recipient and hosting location disclosed to visitors.
|
||||
- `VITE_ANALYTICS_RETENTION_MONTHS`: disclosed analytics retention period. Configure Umami/database deletion to match it.
|
||||
- `PLIMI_PORT`: host port used by Docker Compose, default `8080`.
|
||||
|
||||
Analytics is consent-first. The tracker is injected only after acceptance and is
|
||||
configured to exclude URL search parameters and hashes and honor Do Not Track.
|
||||
The privacy page is available at `/privacy`; deployers must replace all example
|
||||
controller and hosting values before publishing.
|
||||
|
||||
Docker mounts `.env` as a BuildKit secret only while Vite builds the static
|
||||
bundle. The file is ignored by Git and excluded from the regular Docker context.
|
||||
Remember that `VITE_*` values are public build-time configuration and can be
|
||||
read from the resulting browser JavaScript; do not put passwords or API secrets
|
||||
in them.
|
||||
|
||||
---
|
||||
|
||||
## How to Create a Tool (Plugin)
|
||||
|
||||
Reference in New Issue
Block a user