@@ -58,6 +58,25 @@ export default defineConfig({
|
|||||||
},
|
},
|
||||||
{ tag: 'meta', attrs: { name: 'twitter:card', content: 'summary_large_image' } },
|
{ tag: 'meta', attrs: { name: 'twitter:card', content: 'summary_large_image' } },
|
||||||
{ tag: 'meta', attrs: { name: 'twitter:image', content: 'https://relplay.org/og-card.png' } },
|
{ tag: 'meta', attrs: { name: 'twitter:image', content: 'https://relplay.org/og-card.png' } },
|
||||||
|
// Privacy-friendly, cookieless analytics (self-hosted Umami). The
|
||||||
|
// Website ID is public by design (it ships in every page). The script
|
||||||
|
// loads from the Umami host, which also becomes the data destination,
|
||||||
|
// so no `data-host-url` is needed.
|
||||||
|
// - data-domains: only run on the production apex, so the
|
||||||
|
// `website.relplay.pages.dev` preview and `staging.relplay.org`
|
||||||
|
// don't pollute the stats.
|
||||||
|
// - data-do-not-track: honour the browser's Do-Not-Track signal
|
||||||
|
// (those visits are not counted at all). See /privacy.
|
||||||
|
{
|
||||||
|
tag: 'script',
|
||||||
|
attrs: {
|
||||||
|
defer: true,
|
||||||
|
src: 'https://umami.oliversturm.com/script.js',
|
||||||
|
'data-website-id': 'fd77cfa5-cffe-4fc8-addb-1c6d7b6d9939',
|
||||||
|
'data-domains': 'relplay.org',
|
||||||
|
'data-do-not-track': true,
|
||||||
|
},
|
||||||
|
},
|
||||||
],
|
],
|
||||||
// Register the simple-mode command grammar with Expressive Code (Shiki).
|
// Register the simple-mode command grammar with Expressive Code (Shiki).
|
||||||
expressiveCode: { shiki: { langs: [rdbmsLang, rdbmsSyntax] } },
|
expressiveCode: { shiki: { langs: [rdbmsLang, rdbmsSyntax] } },
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ import Default from '@astrojs/starlight/components/Footer.astro';
|
|||||||
Made by <a href="https://www.lazyevaluation.biz/">Lazy Evaluation Ltd</a>
|
Made by <a href="https://www.lazyevaluation.biz/">Lazy Evaluation Ltd</a>
|
||||||
<span class="sep">·</span>
|
<span class="sep">·</span>
|
||||||
<a href="https://git.lazyeval.net/oli/rdbms-playground">Source & issues</a>
|
<a href="https://git.lazyeval.net/oli/rdbms-playground">Source & issues</a>
|
||||||
|
<span class="sep">·</span>
|
||||||
|
<a href="/privacy/">Privacy</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
---
|
||||||
|
title: Privacy
|
||||||
|
description: What we measure on this site, and what we don't. No cookies, no personal data.
|
||||||
|
tableOfContents: false
|
||||||
|
---
|
||||||
|
|
||||||
|
This site is run as a free teaching tool, not a business that profiles its
|
||||||
|
visitors. We keep the analytics deliberately minimal.
|
||||||
|
|
||||||
|
## What we collect
|
||||||
|
|
||||||
|
We measure aggregate usage with **[Umami](https://umami.is/)**, a
|
||||||
|
privacy-friendly analytics tool that we **host ourselves** (on
|
||||||
|
`umami.oliversturm.com`). Nothing is sent to a third-party advertising
|
||||||
|
network.
|
||||||
|
|
||||||
|
For each page view we record:
|
||||||
|
|
||||||
|
- the page you viewed and the site you arrived from (the referrer),
|
||||||
|
- your browser, operating system, and device type,
|
||||||
|
- an approximate **country**.
|
||||||
|
|
||||||
|
That's it. The numbers are aggregated into counts — how many people read a
|
||||||
|
page, which pages are popular — and are never combined into a profile of an
|
||||||
|
individual.
|
||||||
|
|
||||||
|
## What we don't do
|
||||||
|
|
||||||
|
- **No cookies, and nothing stored on your device.** The tracker sets no
|
||||||
|
cookies and writes nothing to local storage. You can confirm this in your
|
||||||
|
browser's developer tools — there are no entries to clear.
|
||||||
|
- **No personal data.** Your IP address is used for a moment on our own
|
||||||
|
server to derive the approximate country and to tell repeated page-loads
|
||||||
|
apart within a single day; it is **not stored**.
|
||||||
|
- **No cross-site tracking.** We cannot and do not follow you to other sites,
|
||||||
|
and we never sell or share what we measure.
|
||||||
|
|
||||||
|
## Your choices
|
||||||
|
|
||||||
|
If your browser sends a **Do Not Track** signal, we honour it: those visits
|
||||||
|
are not counted at all.
|
||||||
|
|
||||||
|
Because the analytics use no cookies and store nothing on your device, there
|
||||||
|
is no cookie banner to dismiss — there is simply nothing to consent to.
|
||||||
|
|
||||||
|
## Questions
|
||||||
|
|
||||||
|
This site and its analytics are operated by
|
||||||
|
[Lazy Evaluation Ltd](https://www.lazyevaluation.biz/). If you have any
|
||||||
|
questions about what we measure, get in touch through the contact details
|
||||||
|
there.
|
||||||
Reference in New Issue
Block a user