Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,27 @@ nginx config, PID files — to `/tmp/openms-runtime-$$`, which is always
writable inside an apptainer container. The workspace cleanup cron job is
skipped in this mode; rerun `clean-up-workspaces.py` manually if needed.

## ⚖️ Legal pages (Impressum, Privacy Policy, Terms of Use)

Every page shows **Impressum**, **Privacy Policy** and **Terms of Use** links at
the bottom of the sidebar, and the GDPR consent banner links to the privacy
policy. By default these point to the centrally maintained official OpenMS pages
(`https://openms.de/impressum`, `/privacy`, `/terms`).

If you self-host a fork, override them in `settings.json` — an Impressum must
name the **actual operator**, not OpenMS:

```json
"legal_links": {
"impressum": "https://your-domain.example/impressum",
"privacy": "https://your-domain.example/privacy",
"terms": "https://your-domain.example/terms"
}
```

Any link you omit falls back to its OpenMS default. The `privacy` URL is reused
for the consent banner's privacy-policy link, so consent and policy stay in sync.

## Documentation

Documentation for **users** and **developers** is included as pages in [this template app](https://abi-services.cs.uni-tuebingen.de/streamlit-template/), indicated by the 📖 icon.
Expand Down
2 changes: 1 addition & 1 deletion gdpr_consent/dist/bundle.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions gdpr_consent/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ let klaroConfig: {
mustConsent: boolean;
acceptAll: boolean;
services: Service[];
translations?: Record<string, any>;
} = {
mustConsent: true,
acceptAll: true,
Expand Down Expand Up @@ -125,6 +126,18 @@ function onRender(event: Event): void {
)
}

// Link the consent banner to the privacy policy. Setting privacyPolicyUrl
// on the 'zz' fallback language makes Klaro render its default
// "To learn more, please read our privacy policy." text with the URL,
// regardless of the browser locale.
if (data.args['privacy_policy']) {
klaroConfig.translations = {
zz: {
privacyPolicyUrl: data.args['privacy_policy']
}
}
}

// Create a new script element
var script = document.createElement('script')

Expand Down
5 changes: 5 additions & 0 deletions settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@
"github-user": "OpenMS",
"version": "1.1.1",
"repository-name": "streamlit-template",
"legal_links": {
"impressum": "https://openms.de/impressum",
"privacy": "https://openms.de/privacy",
"terms": "https://openms.de/terms"
},
"analytics": {
"google-analytics": {
"enabled": false,
Expand Down
Loading
Loading