Skip to content

Commit 7a3914d

Browse files
committed
Add GA4 for analytics + cookie banner
1 parent d3a821d commit 7a3914d

59 files changed

Lines changed: 375 additions & 118 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

content/de/privacy.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: "Datenschutzerklärung"
3+
---
4+
5+
# Datenschutzerklärung
6+
7+
Wir nehmen den Schutz Ihrer persönlichen Daten sehr ernst. Diese Datenschutzerklärung informiert Sie darüber, wie wir mit Daten auf dieser Website umgehen.
8+
9+
## 1. Hosting (GitHub Pages)
10+
11+
Diese Website wird auf GitHub Pages gehostet (GitHub, Inc., 88 Colin P. Kelly Jr. St., San Francisco, CA 94107, USA). Beim Besuch unserer Website erfasst GitHub Daten wie Ihre IP-Adresse, Browsertyp und Zeitpunkt des Zugriffs, um den technischen Betrieb und die Sicherheit des Dienstes zu gewährleisten. Weitere Informationen finden Sie in der [GitHub-Datenschutzerklärung](https://docs.github.com/en/site-policy/privacy-policies/github-privacy-statement).
12+
13+
## 2. Webanalyse (Google Analytics)
14+
15+
Wir nutzen Google Analytics 4 (GA4), einen Webanalysedienst der Google Ireland Limited („Google“). GA4 verwendet Cookies, um Ihre Nutzung der Website zu analysieren. Die durch den Cookie erzeugten Informationen über Ihre Benutzung dieser Website werden in der Regel an einen Server von Google in den USA übertragen und dort gespeichert.
16+
17+
Wir haben GA4 so konfiguriert, dass IP-Adressen anonymisiert werden. Ihre IP-Adresse wird von Google innerhalb von Mitgliedstaaten der Europäischen Union oder in anderen Vertragsstaaten des Abkommens über den Europäischen Wirtschaftsraum vor der Übermittlung in die USA gekürzt.
18+
19+
Sie können die Speicherung der Cookies durch eine entsprechende Einstellung Ihrer Browser-Software verhindern oder über den Cookie-Banner auf unserer Website steuern.
20+
21+
## 3. Ihre Rechte
22+
23+
Sie haben das Recht auf Auskunft, Berichtigung, Löschung, Einschränkung der Verarbeitung, Datenübertragbarkeit und Widerspruch bezüglich Ihrer bei uns gespeicherten personenbezogenen Daten.

content/en/privacy.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: "Privacy Policy"
3+
---
4+
5+
# Privacy Policy
6+
7+
We take the protection of your personal data very seriously. This privacy policy informs you about how we handle data on this website.
8+
9+
## 1. Hosting (GitHub Pages)
10+
11+
This website is hosted on GitHub Pages (GitHub, Inc., 88 Colin P. Kelly Jr. St., San Francisco, CA 94107, USA). When you visit our website, GitHub collects data such as your IP address, browser type, and time of access to ensure the technical operation and security of the service. For more information, please see the [GitHub Privacy Statement](https://docs.github.com/en/site-policy/privacy-policies/github-privacy-statement).
12+
13+
## 2. Web Analytics (Google Analytics)
14+
15+
We use Google Analytics 4 (GA4), a web analytics service provided by Google Ireland Limited ("Google"). GA4 uses cookies to analyze your use of the website. The information generated by the cookie about your use of this website is usually transmitted to a Google server in the USA and stored there.
16+
17+
We have configured GA4 to anonymize IP addresses. Your IP address will be shortened by Google within member states of the European Union or in other contracting states of the Agreement on the European Economic Area before being transmitted to the USA.
18+
19+
You can prevent the storage of cookies by adjusting your browser settings or by using the cookie banner on our website.
20+
21+
## 3. Your Rights
22+
23+
You have the right to information, correction, deletion, restriction of processing, data portability, and objection regarding your personal data stored by us.

docs/404.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<!doctype html><html lang=en><head><meta charset=UTF-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content><meta name=theme-color media="(prefers-color-scheme: light)" content="#ffffff"><meta name=theme-color media="(prefers-color-scheme: dark)" content="#343a40"><meta name=color-scheme content="light dark"><meta property="og:url" content="https://securewebhooktoken.github.io/404.html"><meta property="og:site_name" content="Secure Webhook Token"><meta property="og:title" content="404 Page not found"><meta property="og:locale" content="en"><meta property="og:type" content="website"><title>404 Page not found | Secure Webhook Token</title><link rel=icon href=/favicon.png><link rel=manifest href=/manifest.json><link rel=canonical href=https://securewebhooktoken.github.io/404.html><link rel=alternate hreflang=de href=https://securewebhooktoken.github.io/de/404.html title="404 Page not found"><link rel=stylesheet href=/book.min.935b6804af02f1c15a26e161cfab1051a99f1fe72b2cc2624b504f554ce08f4c.css integrity="sha256-k1toBK8C8cFaJuFhz6sQUamfH+crLMJiS1BPVUzgj0w=" crossorigin=anonymous><script defer src=/fuse.min.js></script><script defer src=/en.search.min.0fb5d3bf258a5d9bcb2d6eb3d067dbe7a75bd723d44030457ece2e720cc52cf1.js integrity="sha256-D7XTvyWKXZvLLW6z0Gfb56db1yPUQDBFfs4ucgzFLPE=" crossorigin=anonymous></script><style>.not-found{text-align:center}.not-found h1{margin:.25em 0 0;opacity:.25;font-size:40vmin}</style></head><body><main class="flex justify-center not-found"><div><h1>404</h1><h2>Page Not Found</h2><h3><a href=/>Secure Webhook Token</a></h3></div></main></body></html>
1+
<!doctype html><html lang=en><head><meta charset=UTF-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content><meta name=theme-color media="(prefers-color-scheme: light)" content="#ffffff"><meta name=theme-color media="(prefers-color-scheme: dark)" content="#343a40"><meta name=color-scheme content="light dark"><meta property="og:url" content="https://securewebhooktoken.github.io/404.html"><meta property="og:site_name" content="Secure Webhook Token"><meta property="og:title" content="404 Page not found"><meta property="og:locale" content="en"><meta property="og:type" content="website"><title>404 Page not found | Secure Webhook Token</title><link rel=icon href=/favicon.png><link rel=manifest href=/manifest.json><link rel=canonical href=https://securewebhooktoken.github.io/404.html><link rel=alternate hreflang=de href=https://securewebhooktoken.github.io/de/404.html title="404 Page not found"><link rel=stylesheet href=/book.min.935b6804af02f1c15a26e161cfab1051a99f1fe72b2cc2624b504f554ce08f4c.css integrity="sha256-k1toBK8C8cFaJuFhz6sQUamfH+crLMJiS1BPVUzgj0w=" crossorigin=anonymous><script defer src=/fuse.min.js></script><script defer src=/en.search.min.60a8816f4600015fe1a245173360de5b71edba0d339815d34259b137a056516a.js integrity="sha256-YKiBb0YAAV/hokUXM2DeW3Htug0zmBXTQlmxN6BWUWo=" crossorigin=anonymous></script><script>if(localStorage.getItem("cookie-consent")==="accepted"){(function(e,t,n,s,o,i,a){e.GoogleAnalyticsObject=o,e[o]=e[o]||function(){(e[o].q=e[o].q||[]).push(arguments)},e[o].l=1*new Date,i=t.createElement(n),a=t.getElementsByTagName(n)[0],i.async=1,i.src=s,a.parentNode.insertBefore(i,a)})(window,document,"script","https://www.googletagmanager.com/gtag/js?id=G-NJ3XM81KF3","gtag"),window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag("js",new Date),gtag("config","G-NJ3XM81KF3")}</script><style>.not-found{text-align:center}.not-found h1{margin:.25em 0 0;opacity:.25;font-size:40vmin}</style></head><body><main class="flex justify-center not-found"><div><h1>404</h1><h2>Page Not Found</h2><h3><a href=/>Secure Webhook Token</a></h3></div></main></body></html>

docs/categories/index.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
<!doctype html><html lang=en dir=ltr><head><meta charset=UTF-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content><meta name=theme-color media="(prefers-color-scheme: light)" content="#ffffff"><meta name=theme-color media="(prefers-color-scheme: dark)" content="#343a40"><meta name=color-scheme content="light dark"><meta property="og:url" content="https://securewebhooktoken.github.io/categories/"><meta property="og:site_name" content="Secure Webhook Token"><meta property="og:title" content="Categories"><meta property="og:locale" content="en"><meta property="og:type" content="website"><title>Categories | Secure Webhook Token</title><link rel=icon href=/favicon.png><link rel=manifest href=/manifest.json><link rel=canonical href=https://securewebhooktoken.github.io/categories/><link rel=alternate hreflang=de href=https://securewebhooktoken.github.io/de/categories/ title=Categories><link rel=stylesheet href=/book.min.935b6804af02f1c15a26e161cfab1051a99f1fe72b2cc2624b504f554ce08f4c.css integrity="sha256-k1toBK8C8cFaJuFhz6sQUamfH+crLMJiS1BPVUzgj0w=" crossorigin=anonymous><script defer src=/fuse.min.js></script><script defer src=/en.search.min.0fb5d3bf258a5d9bcb2d6eb3d067dbe7a75bd723d44030457ece2e720cc52cf1.js integrity="sha256-D7XTvyWKXZvLLW6z0Gfb56db1yPUQDBFfs4ucgzFLPE=" crossorigin=anonymous></script><link rel=alternate type=application/rss+xml href=https://securewebhooktoken.github.io/categories/index.xml title="Secure Webhook Token"></head><body dir=ltr><input type=checkbox class="hidden toggle" id=menu-control>
1+
<!doctype html><html lang=en dir=ltr><head><meta charset=UTF-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content><meta name=theme-color media="(prefers-color-scheme: light)" content="#ffffff"><meta name=theme-color media="(prefers-color-scheme: dark)" content="#343a40"><meta name=color-scheme content="light dark"><meta property="og:url" content="https://securewebhooktoken.github.io/categories/"><meta property="og:site_name" content="Secure Webhook Token"><meta property="og:title" content="Categories"><meta property="og:locale" content="en"><meta property="og:type" content="website"><title>Categories | Secure Webhook Token</title><link rel=icon href=/favicon.png><link rel=manifest href=/manifest.json><link rel=canonical href=https://securewebhooktoken.github.io/categories/><link rel=alternate hreflang=de href=https://securewebhooktoken.github.io/de/categories/ title=Categories><link rel=stylesheet href=/book.min.935b6804af02f1c15a26e161cfab1051a99f1fe72b2cc2624b504f554ce08f4c.css integrity="sha256-k1toBK8C8cFaJuFhz6sQUamfH+crLMJiS1BPVUzgj0w=" crossorigin=anonymous><script defer src=/fuse.min.js></script><script defer src=/en.search.min.60a8816f4600015fe1a245173360de5b71edba0d339815d34259b137a056516a.js integrity="sha256-YKiBb0YAAV/hokUXM2DeW3Htug0zmBXTQlmxN6BWUWo=" crossorigin=anonymous></script><script>if(localStorage.getItem("cookie-consent")==="accepted"){(function(e,t,n,s,o,i,a){e.GoogleAnalyticsObject=o,e[o]=e[o]||function(){(e[o].q=e[o].q||[]).push(arguments)},e[o].l=1*new Date,i=t.createElement(n),a=t.getElementsByTagName(n)[0],i.async=1,i.src=s,a.parentNode.insertBefore(i,a)})(window,document,"script","https://www.googletagmanager.com/gtag/js?id=G-NJ3XM81KF3","gtag"),window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag("js",new Date),gtag("config","G-NJ3XM81KF3")}</script><link rel=alternate type=application/rss+xml href=https://securewebhooktoken.github.io/categories/index.xml title="Secure Webhook Token"></head><body dir=ltr><input type=checkbox class="hidden toggle" id=menu-control>
22
<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><div class=book-menu-content><nav><h2 class=book-brand><a class="flex align-center" href=/><span>Secure Webhook Token</span></a></h2><div class="book-search hidden"><input type=text id=book-search-input placeholder=Search aria-label=Search maxlength=64 data-hotkeys=s/><div class="book-search-spinner hidden"></div><ul id=book-search-results></ul></div><script>document.querySelector(".book-search").classList.remove("hidden")</script><ul class=book-languages><li><input type=checkbox id=languages class=toggle>
33
<label for=languages class=flex><a role=button class="flex flex-auto"><img src=/svg/translate.svg class=book-icon alt=Languages>
44
English</a></label><ul><li><a href=/de/categories/>Deutsch</a></li></ul></li></ul><ul><li><span>SWT</span><ul><li><a href=/docs/swt/specification/>Specification</a></li><li><a href=/docs/swt/security/>Security Guidelines</a></li><li><a href=/docs/swt/error-handling/>Error Handling</a></li><li><a href=/docs/swt/implementations/>Implementations</a><ul><li><input type=checkbox id=section-1b1c1a45f1ed97fe6fae76efe1cb58e0 class=toggle>
5-
<label for=section-1b1c1a45f1ed97fe6fae76efe1cb58e0 class=flex><a role=button class=flex-auto>Examples</a></label><ul><li><span>Go</span><ul><li><a href=/docs/swt/implementations/examples/go/client-side-token-generation/>Client-side Token Generation</a></li><li><a href=/docs/swt/implementations/examples/go/server-side-validation/>Server-side Validation</a></li><li><a href=/docs/swt/implementations/examples/go/replay-protection/>Replay Protection</a></li></ul></li><li><span>JS</span><ul><li><a href=/docs/swt/implementations/examples/js/client-side-token-generation/>Client-side Token Generation</a></li><li><a href=/docs/swt/implementations/examples/js/replay-protection/>Replay Protection with Redis</a></li><li><a href=/docs/swt/implementations/examples/js/server-side-validation/>Server-side Validation</a></li><li><a href=/docs/swt/implementations/examples/js/webhook-handler/>Webhook Handler</a></li></ul></li><li><span>Python</span><ul><li><a href=/docs/swt/implementations/examples/python/create-validate-secure-webhook-token/>Create & Validate Secure Webhook Token</a></li></ul></li></ul></li></ul></li></ul></li></ul><ul><li><a href=https://github.com/securewebhooktoken target=_blank rel=noopener>Github</a></li><li><a href=https://themes.gohugo.io/themes/hugo-book/ target=_blank rel=noopener>Hugo Book Theme</a></li></ul></nav><script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script></div></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label><h3>Categories</h3><label for=toc-control><img src=/svg/toc.svg class=book-icon alt="Table of Contents"></label></div><aside class="hidden clearfix"><nav><ul><li class=book-section-flat><span>Categories</span><ul></ul></li><li class=book-section-flat><span>Tags</span><ul></ul></li></ul></nav></aside></header><article class="markdown book-post"><h1>Categories</h1></article><footer class=book-footer><div class="flex flex-wrap justify-between"></div><script>(function(){function e(e){const t=window.getSelection(),n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n)}document.querySelectorAll("pre code").forEach(t=>{t.addEventListener("click",function(){if(window.getSelection().toString())return;e(t.parentElement),navigator.clipboard&&navigator.clipboard.writeText(t.parentElement.textContent)})})})()</script></footer><label for=menu-control class="hidden book-menu-overlay"></label></div><aside class=book-toc><div class=book-toc-content><nav><ul><li class=book-section-flat><span>Categories</span><ul></ul></li><li class=book-section-flat><span>Tags</span><ul></ul></li></ul></nav></div></aside></main></body></html>
5+
<label for=section-1b1c1a45f1ed97fe6fae76efe1cb58e0 class=flex><a role=button class=flex-auto>Examples</a></label><ul><li><span>Go</span><ul><li><a href=/docs/swt/implementations/examples/go/client-side-token-generation/>Client-side Token Generation</a></li><li><a href=/docs/swt/implementations/examples/go/server-side-validation/>Server-side Validation</a></li><li><a href=/docs/swt/implementations/examples/go/replay-protection/>Replay Protection</a></li></ul></li><li><span>JS</span><ul><li><a href=/docs/swt/implementations/examples/js/client-side-token-generation/>Client-side Token Generation</a></li><li><a href=/docs/swt/implementations/examples/js/replay-protection/>Replay Protection with Redis</a></li><li><a href=/docs/swt/implementations/examples/js/server-side-validation/>Server-side Validation</a></li><li><a href=/docs/swt/implementations/examples/js/webhook-handler/>Webhook Handler</a></li></ul></li><li><span>Python</span><ul><li><a href=/docs/swt/implementations/examples/python/create-validate-secure-webhook-token/>Create & Validate Secure Webhook Token</a></li></ul></li></ul></li></ul></li></ul></li></ul><ul><li><a href=https://github.com/securewebhooktoken target=_blank rel=noopener>Github</a></li><li><a href=https://themes.gohugo.io/themes/hugo-book/ target=_blank rel=noopener>Hugo Book Theme</a></li></ul><ul><li><a href=/privacy>Privacy Policy</a></li></ul></nav><script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script></div></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label><h3>Categories</h3><label for=toc-control><img src=/svg/toc.svg class=book-icon alt="Table of Contents"></label></div><aside class="hidden clearfix"><nav><ul><li class=book-section-flat><span>Categories</span><ul></ul></li><li class=book-section-flat><span>Tags</span><ul></ul></li></ul></nav></aside></header><article class="markdown book-post"><h1>Categories</h1></article><footer class=book-footer><div class="flex flex-wrap justify-between"></div><script>(function(){function e(e){const t=window.getSelection(),n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n)}document.querySelectorAll("pre code").forEach(t=>{t.addEventListener("click",function(){if(window.getSelection().toString())return;e(t.parentElement),navigator.clipboard&&navigator.clipboard.writeText(t.parentElement.textContent)})})})()</script><div id=cookie-banner style="display:none;position:fixed;bottom:0;left:0;width:100%;background:#343a40;color:#fff;padding:1rem;text-align:center;z-index:1000;box-shadow:0 -2px 10px rgba(0,0,0,.1)"><p style="margin:0 0 1rem">This website uses cookies for anonymous statistics.</p><button id=accept-cookies style="background:#007bff;color:#fff;border:none;padding:.5rem 1rem;cursor:pointer;border-radius:4px;margin-right:.5rem">Accept</button>
6+
<button id=decline-cookies style="background:#6c757d;color:#fff;border:none;padding:.5rem 1rem;cursor:pointer;border-radius:4px">Decline</button></div><script>(function(){var e=document.getElementById("cookie-banner"),t=document.getElementById("accept-cookies"),n=document.getElementById("decline-cookies"),s=localStorage.getItem("cookie-consent");s||(e.style.display="block"),t.onclick=function(){localStorage.setItem("cookie-consent","accepted"),e.style.display="none",location.reload()},n.onclick=function(){localStorage.setItem("cookie-consent","declined"),e.style.display="none"}})()</script></footer><label for=menu-control class="hidden book-menu-overlay"></label></div><aside class=book-toc><div class=book-toc-content><nav><ul><li class=book-section-flat><span>Categories</span><ul></ul></li><li class=book-section-flat><span>Tags</span><ul></ul></li></ul></nav></div></aside></main></body></html>

docs/de.search-data.min.e422987d35a71b1a2dbb7b75d30b20e30f0ef12e77caa154aa2aa3e54db08f22.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)