From 681160547795fbdf0398f9a37557fbb158c1b936 Mon Sep 17 00:00:00 2001 From: TheFlow Date: Tue, 20 Jan 2026 11:43:29 +1300 Subject: [PATCH] =?UTF-8?q?feat:=20Add=20K=C5=8Drero=20HTML=20page,=20remo?= =?UTF-8?q?ve=20umami=20analytics?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Create korero-counter-arguments.html (STO-INN-0004) with styled critique cards - Remove umami-tracker.js and all references from HTML files - Update privacy.html Section 6 to reflect "No Analytics" policy Co-Authored-By: Claude Opus 4.5 --- public/about.html | 2 - public/about/values.html | 2 - public/api-reference.html | 2 - public/architecture.html | 2 - public/blog-post.html | 2 - public/blog.html | 2 - public/case-submission.html | 2 - public/check-version.html | 2 - public/docs-viewer.html | 2 - public/docs.html | 2 - public/faq.html | 2 - public/gdpr.html | 2 - public/implementer.html | 2 - public/js/components/umami-tracker.js | 131 ----- public/koha.html | 2 - public/koha/success.html | 2 - public/koha/transparency.html | 2 - public/korero-counter-arguments.html | 770 ++++++++++++++++++++++++++ public/leader.html | 2 - public/media-inquiry.html | 2 - public/media-triage-transparency.html | 2 - public/privacy.html | 62 +-- public/researcher.html | 2 - public/test-pressure-chart.html | 2 - 24 files changed, 777 insertions(+), 228 deletions(-) delete mode 100644 public/js/components/umami-tracker.js create mode 100644 public/korero-counter-arguments.html diff --git a/public/about.html b/public/about.html index 7bda18fd..38ffda3e 100644 --- a/public/about.html +++ b/public/about.html @@ -21,8 +21,6 @@ a:focus:not(:focus-visible) { outline: none; } a:focus-visible { outline: 3px solid #3b82f6; outline-offset: 2px; } - - diff --git a/public/about/values.html b/public/about/values.html index 07f3f965..03fe90c0 100644 --- a/public/about/values.html +++ b/public/about/values.html @@ -42,8 +42,6 @@ a:focus-visible { outline: 3px solid #3b82f6; outline-offset: 2px; } - - diff --git a/public/api-reference.html b/public/api-reference.html index 38b913fe..7aac05df 100644 --- a/public/api-reference.html +++ b/public/api-reference.html @@ -17,8 +17,6 @@ .method-DELETE { @apply bg-red-100 text-red-800; } - - diff --git a/public/architecture.html b/public/architecture.html index 9aeafd9b..f1f9084d 100644 --- a/public/architecture.html +++ b/public/architecture.html @@ -43,8 +43,6 @@ .gradient-text { background: linear-gradient(120deg, #3b82f6 0%, #8b5cf6 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } - - diff --git a/public/blog-post.html b/public/blog-post.html index c526c3f6..89cb99eb 100644 --- a/public/blog-post.html +++ b/public/blog-post.html @@ -112,8 +112,6 @@ } - - diff --git a/public/blog.html b/public/blog.html index 1e86b48a..23248d96 100644 --- a/public/blog.html +++ b/public/blog.html @@ -44,8 +44,6 @@ a:focus-visible { outline: 3px solid #3b82f6; outline-offset: 2px; } - - diff --git a/public/case-submission.html b/public/case-submission.html index 881d7acb..432f7f38 100644 --- a/public/case-submission.html +++ b/public/case-submission.html @@ -72,8 +72,6 @@ } - - diff --git a/public/check-version.html b/public/check-version.html index 526dfb3e..f742ae51 100644 --- a/public/check-version.html +++ b/public/check-version.html @@ -15,8 +15,6 @@ pre { background: #1f2937; color: #f3f4f6; padding: 1rem; border-radius: 0.5rem; overflow-x: auto; } - - diff --git a/public/docs-viewer.html b/public/docs-viewer.html index a9d6b909..aad98083 100644 --- a/public/docs-viewer.html +++ b/public/docs-viewer.html @@ -23,8 +23,6 @@ .prose em { @apply italic; } - - diff --git a/public/docs.html b/public/docs.html index e1fcf625..63f3726a 100644 --- a/public/docs.html +++ b/public/docs.html @@ -497,8 +497,6 @@ } - - diff --git a/public/faq.html b/public/faq.html index 6e88942c..ea879798 100644 --- a/public/faq.html +++ b/public/faq.html @@ -319,8 +319,6 @@ } - - diff --git a/public/gdpr.html b/public/gdpr.html index f51bcad2..82f7dbba 100644 --- a/public/gdpr.html +++ b/public/gdpr.html @@ -20,8 +20,6 @@ a:focus-visible { outline: 3px solid #3b82f6; outline-offset: 2px; } - - diff --git a/public/implementer.html b/public/implementer.html index b3d26ece..fb6cba0d 100644 --- a/public/implementer.html +++ b/public/implementer.html @@ -67,8 +67,6 @@ } - - diff --git a/public/js/components/umami-tracker.js b/public/js/components/umami-tracker.js deleted file mode 100644 index 3e05c6b0..00000000 --- a/public/js/components/umami-tracker.js +++ /dev/null @@ -1,131 +0,0 @@ -/** - * Umami Analytics - Privacy-First Tracking - * No cookies, no personal data, GDPR-compliant - * - * Features: - * - Respects Do Not Track (DNT) browser setting - * - Honors user opt-out preference - * - Disabled in development environment - * - Lightweight async loading - */ - -(function() { - 'use strict'; - - // Configuration - const CONFIG = { - websiteId: 'e09dad07-361b-453b-9e2c-2132c657d203', - domain: 'agenticgovernance.digital', - scriptSrc: 'https://analytics.agenticgovernance.digital/script.js', - autoTrack: true - }; - - // Development environment check - const isDevelopment = - window.location.hostname === 'localhost' || - window.location.hostname === '127.0.0.1' || - window.location.hostname === '' || - window.location.port === '9000'; // Local dev server - - if (isDevelopment) { - console.log('[Umami Analytics] Disabled in development environment'); - return; - } - - // Respect Do Not Track (DNT) browser setting - const dnt = navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack; - const dntEnabled = dnt === '1' || dnt === 'yes' || dnt === 'on'; - - if (dntEnabled) { - console.log('[Umami Analytics] Tracking disabled - Do Not Track enabled'); - return; - } - - // Check for user opt-out preference (localStorage) - try { - const optedOut = localStorage.getItem('umami.disabled') === 'true'; - if (optedOut) { - console.log('[Umami Analytics] Tracking disabled - User opted out'); - return; - } - } catch (e) { - // localStorage may not be available (privacy mode, etc.) - console.warn('[Umami Analytics] Cannot check opt-out preference:', e); - } - - // Website ID validation - if (CONFIG.websiteId === 'REPLACE_WITH_ACTUAL_WEBSITE_ID') { - console.warn('[Umami Analytics] Website ID not configured. Update umami-tracker.js after Umami setup.'); - return; - } - - // Load Umami tracking script - const script = document.createElement('script'); - script.async = true; - script.defer = true; - script.src = CONFIG.scriptSrc; - script.setAttribute('data-website-id', CONFIG.websiteId); - // Note: data-domains attribute removed to allow tracking on all subdomains - script.setAttribute('data-auto-track', CONFIG.autoTrack.toString()); - - // Error handling - script.onerror = function() { - console.error('[Umami Analytics] Failed to load tracking script from:', CONFIG.scriptSrc); - }; - - // Success callback - script.onload = function() { - console.log('[Umami Analytics] Tracking initialized (privacy-first, cookie-free)'); - }; - - // Append script to head - document.head.appendChild(script); - - // Expose opt-out function for privacy page - window.umamiOptOut = function() { - try { - localStorage.setItem('umami.disabled', 'true'); - console.log('[Umami Analytics] User opted out successfully'); - alert('Analytics tracking has been disabled. Reload the page to apply changes.'); - return true; - } catch (e) { - console.error('[Umami Analytics] Failed to save opt-out preference:', e); - alert('Failed to save opt-out preference. Please ensure cookies/localStorage is enabled.'); - return false; - } - }; - - // Expose opt-in function (to reverse opt-out) - window.umamiOptIn = function() { - try { - localStorage.removeItem('umami.disabled'); - console.log('[Umami Analytics] User opted in successfully'); - alert('Analytics tracking has been enabled. Reload the page to apply changes.'); - return true; - } catch (e) { - console.error('[Umami Analytics] Failed to save opt-in preference:', e); - return false; - } - }; - - // Expose status check function - window.umamiStatus = function() { - const status = { - enabled: true, - development: isDevelopment, - dnt: dntEnabled, - optedOut: false, - websiteId: CONFIG.websiteId - }; - - try { - status.optedOut = localStorage.getItem('umami.disabled') === 'true'; - } catch (e) { - status.optedOut = null; - } - - console.table(status); - return status; - }; - -})(); diff --git a/public/koha.html b/public/koha.html index cfbe6936..27343025 100644 --- a/public/koha.html +++ b/public/koha.html @@ -45,8 +45,6 @@ } - - diff --git a/public/koha/success.html b/public/koha/success.html index 44adacc6..8ca873df 100644 --- a/public/koha/success.html +++ b/public/koha/success.html @@ -62,8 +62,6 @@ .delay-5 { animation-delay: 0.5s; } - - diff --git a/public/koha/transparency.html b/public/koha/transparency.html index 96e92bb8..a294ea75 100644 --- a/public/koha/transparency.html +++ b/public/koha/transparency.html @@ -35,8 +35,6 @@ } - - diff --git a/public/korero-counter-arguments.html b/public/korero-counter-arguments.html new file mode 100644 index 00000000..aa8bd3a6 --- /dev/null +++ b/public/korero-counter-arguments.html @@ -0,0 +1,770 @@ + + + + + + Formal Kōrero - Counter-Arguments to Tractatus Framework Critiques + + + + + + + + + + + + + + + + + +
+ +
+
+

FORMAL KORERO

+

Counter-Arguments to Tractatus Framework Critiques

+

Ten Critiques Addressed Through Scholarly Dialogue

+ + +
+ +
+ This document responds to ten formal critiques of the Tractatus Framework (STO-INN-0003). The critiques were generated through adversarial analysis; the counter-arguments demonstrate that the Framework survives rigorous examination when properly positioned. The kōrero reveals not fatal flaws but necessary elaborations. +
+ +
+

Executive Summary

+

The ten critiques collectively reveal important tensions in the Tractatus Framework, but none are fatal. The document survives critique when properly positioned as:

+
    +
  • A Layer 2 component in multi-layer containment (not a complete solution)
  • +
  • Appropriate for current/near-term AI (not claiming to solve superintelligence alignment)
  • +
  • Focused on operational & catastrophic risk (not strict existential risk prevention)
  • +
  • A design pattern (inference-time constraints) with multiple valid implementations
  • +
+
+ +

Key Counter-Arguments by Domain

+ + +
+

+ 1. Decision Theory & Existential Risk + Framework Survives +

+ +
+ Critique +

Expected-value reasoning doesn't "break down" for existential risks; probabilistic approaches still apply.

+
+ +
+ Counter +

The Framework employs precautionary satisficing under radical uncertainty, not categorical rejection of probability. Three pillars support this approach:

+
    +
  1. Bounded rationality (Herbert Simon): When cognitive limits prevent accurate probability assignment to novel threats, satisfice rather than optimize
  2. +
  3. Maximin under uncertainty (Rawls): When genuine uncertainty (not just unknown probabilities) meets irreversible stakes, maximin is rational
  4. +
  5. Strong precautionary principle: Appropriate when irreversibility + high uncertainty + public goods all present
  6. +
+

Nuclear safety uses probabilities because we have 80+ years of operational data. We have zero for superintelligent AI. The situations are epistemologically distinct.

+
+ +
+ Synthesis +

Update framing from "probabilistic reasoning fails" to "precautionary satisficing appropriate under radical uncertainty with irreversible stakes." As AI systems mature and generate operational data, probabilistic approaches become more justified.

+
+
+ + +
+

+ 2. Necessity of Architectural Gating + Framework Survives +

+ +
+ Critique +

Alternative containment exists (air-gapping, capability limits); current deployments use rate limits/API scoping more than formal gates.

+
+ +
+ Counter +

Four clarifications address this critique:

+
    +
  1. "Necessary" means "required in complete solution" not "uniquely necessary" — the Framework presents five layers where all are needed
  2. +
  3. Air-gapping is Layer 1 (capability constraint), not a replacement — you still need governance within the air gap
  4. +
  5. Current API controls prove the pattern — rate limits, scoping, HITL workflows ARE inference-time architectural constraints; the Framework systematizes informal practices
  6. +
  7. Complementarity, not exclusivity — explicitly stated in Section 2.3 of the original document
  8. +
+
+ +
+ Synthesis +

Clarify "constitutional gates" as a design pattern (architectural constraints at inference) instantiated through various mechanisms: formal proposal schemas, API scoping + rate limits, or air-gapping + internal HITL workflows.

+
+
+ + +
+

+ 3. Faithful Translation & Deceptive Alignment + Partial Acknowledgment Required +

+ +
+ Critique +

Framework cites extensive evidence that faithful translation assumption likely fails for advanced systems, undermining the central mechanism.

+
+ +
+ Counter +

Accept the vulnerability while arguing continued value:

+
    +
  1. Honest acknowledgment is superior to proposals that ignore the deception problem
  2. +
  3. Layered defense provides value even with compromised layers — gates create detection opportunities, force complex deception, generate audit trails, buy time
  4. +
  5. The alternative is worse — training-time alignment also vulnerable to deception; capability limits prevent beneficial use; no development forgoes benefits
  6. +
  7. Interpretability progress (70% at scale via sparse autoencoders) may enable future deception detection integrated with gates
  8. +
+
+ +
+ Synthesis +

Adopt capability threshold approach: constitutional gates appropriate for systems below specified deception-robustness thresholds. Above threshold, escalate to air-gapping or development pause. Framework is for "pre-superintelligence" systems with explicit limits.

+
+
+ + +
+

+ 4. Interpretability & Limits of the Sayable + Framework Survives +

+ +
+ Critique +

Claiming neural networks are categorically "unspeakable" overstates limits; interpretability is progressing empirically (70% at scale).

+
+ +
+ Counter +

The Wittgensteinian framing is about current practical limits justifying architectural rather than introspective verification:

+
    +
  1. Present-tense claim about current capabilities, not eternal impossibility
  2. +
  3. 70% ≠ sufficient for real-time safety verification (30% opaque is enough for hidden capabilities)
  4. +
  5. Interpretability and architecture are complementary — gates create structured checkpoints where interpretability tools apply
  6. +
+
+ +
+ Synthesis +

Update framing from "categorical limits" to "current practical limits." Position gates as current best practice that integrates interpretability as it matures, rather than permanent solution to inherent impossibility.

+
+
+ + +
+

+ 5. Multi-Layer Defense Empirics + Framework Survives with Additions +

+ +
+ Critique +

Five-layer model lacks empirical validation with quantified thresholds like aviation/nuclear safety.

+
+ +
+ Counter +

Absence of validation is the problem being solved, not a flaw:

+
    +
  1. No learning from existential failures — aviation/nuclear iterate based on accidents; existential risk permits no iteration
  2. +
  3. Honest gap assessment — Table 4.3 IS the empirical assessment showing we lack validated solutions
  4. +
  5. Backwards demand — requiring empirical validation before deploying existential-risk containment means waiting for catastrophe
  6. +
  7. Can borrow validation methodologies: red-team testing, containment metrics, near-miss analysis, analogous domain failures
  8. +
+
+ +
+ Synthesis +

Add "Validation Methodology" section with: (1) quantitative targets for each layer, (2) red-team protocols, (3) systematic analysis of analogous domain failures, (4) explicit acknowledgment that full empirical validation impossible for existential risks.

+
+
+ + +
+

+ 6. Governance & Regulatory Capture + Framework Survives with Specification +

+ +
+ Critique +

Regulation can entrench incumbents and stifle innovation, potentially increasing systemic risk.

+
+ +
+ Counter +

Conflates bad regulation with regulation per se:

+
    +
  1. Market failures justify intervention for existential risk (externalities, public goods, time horizon mismatches, coordination failures)
  2. +
  3. Alternative is unaccountable private governance by frontier labs with no democratic input
  4. +
  5. Design matters — application-layer regulation (outcomes, not compute thresholds), performance standards, independent oversight, anti-capture mechanisms
  6. +
  7. Empirical success in other existential risks (NPT for nuclear, Montreal Protocol for ozone)
  8. +
+
+ +
+ Synthesis +

Specify principles for good AI governance rather than merely asserting necessity. Include explicit anti-capture provisions and acknowledge trade-offs. Necessity claim is for "democratic governance with accountability," not bureaucratic command-and-control.

+
+
+ + +
+

+ 7. Constitutional Pluralism + Acknowledge Normative Commitments +

+ +
+ Critique +

Core principles encode normative commitments (procedural liberalism) while claiming to preserve pluralism; complexity creates participation fatigue.

+
+ +
+ Counter +

All governance encodes values; transparency is the virtue:

+
    +
  1. Explicit acknowledgment in Section 5 superior to claiming neutrality
  2. +
  3. Bounded pluralism enables community variation within safety constraints (analogous to federalism)
  4. +
  5. Complexity solvable through UX design: sensible defaults, delegation, attention-aware presentation, tiered engagement (apply Christopher Alexander's pattern language methodology)
  6. +
  7. Alternatives are worse (global monoculture, no constraints, race to bottom)
  8. +
+
+ +
+ Synthesis +

Reframe from "preserving pluralism" to "maximizing meaningful choice within safety constraints." Apply pattern language UX design to minimize fatigue. Measure actual engagement and iterate.

+
+
+ + +
+

+ 8. Application-Layer vs. Global Leverage + Framework Survives with Positioning +

+ +
+ Critique +

Framework operates at platform layer while most risk originates at foundation model layer; limited leverage on systemic risk.

+
+ +
+ Counter +

Creates complementarity, not irrelevance:

+
    +
  1. Different risks require different layers — existential risk needs upstream controls (compute governance); operational risk needs application-layer governance
  2. +
  3. Proof-of-concept for eventual foundation model integration — demonstrates pattern for upstream adoption
  4. +
  5. Not all risk from frontier models — fine-tuned, open-source, edge deployments need governance too
  6. +
  7. Sovereignty requires application control — different communities need different policies even with aligned foundation models
  8. +
+
+ +
+ Synthesis +

Position explicitly as Layer 2 focusing on operational risk and sovereignty. Add "Integration with Foundation Model Governance" section showing consumption of upstream safety metadata and reporting deployment patterns.

+
+
+ + +
+

+ 9. Scaling Uncertainty + Add Capability Thresholds +

+ +
+ Critique +

Framework admits it doesn't scale to superintelligence; if existential risk is the motivation but the solution fails for that scenario, it's just ordinary software governance.

+
+ +
+ Counter +

Staged safety for staged capability:

+
    +
  1. Appropriate for stages 1-3 (current through advanced narrow AI), not claiming to solve stage 4 (superintelligence)
  2. +
  3. Infrastructure for detecting assumption breaks — explicit monitoring enables escalation before catastrophic failure
  4. +
  5. Continuous risk matters — preventing civilizational collapse (99% → 0.01% risk) has enormous value even if not preventing literal extinction
  6. +
  7. Enables practical middle path — deploy with best-available containment while researching harder problems, vs. premature halt or uncontained deployment
  8. +
+
+ +
+ Synthesis +

Add "Capability Threshold and Escalation" section: define specific metrics, specify thresholds for escalation to air-gapping/pause, continuous monitoring with automatic alerts. Explicitly: "This framework is for pre-superintelligence systems."

+
+
+ + +
+

+ 10. Measurement & Goodhart's Law + Framework Survives with Elaboration +

+ +
+ Critique +

Section 7 proposes mechanisms but under-specifies implementation at scale.

+
+ +
+ Counter +

Mechanisms are real and deployable with detail:

+
    +
  1. Metric rotation: Maintain suite of 10-15 metrics, rotate emphasis quarterly, systems can't predict which emphasized next
  2. +
  3. Multi-horizon evaluation: Immediate + short + medium + long-term assessment prevents gaming immediate metrics
  4. +
  5. Holdout evaluation + red-teaming: Standard ML practice formalized in governance
  6. +
  7. Multiple perspectives: Natural tension (user vs. community vs. moderator) forces genuine solutions over gaming
  8. +
  9. Qualitative integration: Narrative feedback resists quantification
  10. +
+
+ +
+ Synthesis +

Expand Section 7 from "principles" to "protocols" with operational specifics: rotation schedules, timeframes, red-team procedures, case studies from analogous domains.

+
+
+ +

Overall Assessment

+ +
+
+

The Framework Is Strong:

+
    +
  • Intellectual honesty about limitations
  • +
  • Coherent philosophical grounding (bounded rationality, precautionary satisficing)
  • +
  • Practical value for current AI systems
  • +
  • Multi-layer defense contribution
  • +
  • Sovereignty preservation
  • +
+
+ +
+

Requires Strengthening:

+
    +
  • Empirical validation methodology
  • +
  • Implementation specifications
  • +
  • Foundation model integration
  • +
  • Capability threshold formalization
  • +
  • Explicit normative acknowledgment
  • +
+
+
+ +
+

Recommended Additions:

+
    +
  1. Capability thresholds with escalation triggers
  2. +
  3. Quantitative targets (borrowing from nuclear/aviation)
  4. +
  5. Foundation model integration pathways
  6. +
  7. Pattern language UX for constitutional interfaces
  8. +
  9. Validation protocols (red-teaming, analogous domains)
  10. +
  11. Normative transparency in core principles
  12. +
  13. Operational measurement protocols
  14. +
+
+ +
+

Final Verdict

+

The Framework survives critique when properly positioned as a necessary Layer 2 component appropriate for current and near-term AI systems, focused on operational and catastrophic (not strict existential) risk, instantiated as a design pattern with multiple implementations.

+

The kōrero reveals not fatal flaws but necessary elaborations to move from diagnostic paper to deployable architecture.

+
+ +
+
+

"Ko te kōrero te mouri o te tangata."

+

(Speech is the life essence of a person.)

+

—Māori proverb

+
+

Let us continue speaking together about the future we are making.

+
+ +
+ +
+ + + + + + + + + + + diff --git a/public/leader.html b/public/leader.html index 05a5636a..2c3fae6d 100644 --- a/public/leader.html +++ b/public/leader.html @@ -77,8 +77,6 @@ } - - diff --git a/public/media-inquiry.html b/public/media-inquiry.html index c2f9180d..9b32dc08 100644 --- a/public/media-inquiry.html +++ b/public/media-inquiry.html @@ -62,8 +62,6 @@ a:focus-visible { outline: 3px solid var(--tractatus-core-end); outline-offset: 2px; } - - diff --git a/public/media-triage-transparency.html b/public/media-triage-transparency.html index b3fbdc50..eca561e3 100644 --- a/public/media-triage-transparency.html +++ b/public/media-triage-transparency.html @@ -21,8 +21,6 @@ a:focus-visible { outline: 3px solid #3b82f6; outline-offset: 2px; } - - diff --git a/public/privacy.html b/public/privacy.html index 7550d8c5..d617a105 100644 --- a/public/privacy.html +++ b/public/privacy.html @@ -20,8 +20,6 @@ a:focus-visible { outline: 3px solid #3b82f6; outline-offset: 2px; } - - @@ -160,70 +158,24 @@
-

6. Analytics and Tracking

+

6. Analytics and Tracking

- Privacy-First Analytics: We use Umami Analytics, a privacy-respecting, GDPR-compliant analytics platform that collects no personal data and uses no cookies. + No Analytics: We currently do not use any analytics or tracking on this website. Your browsing activity is not monitored or recorded.

-

About Umami Analytics

-

- Umami helps us understand how visitors use our website so we can improve it. Unlike traditional analytics tools, Umami is designed with privacy at its core. -

+

Cookies

+

We use minimal cookies for essential purposes only:

-

What Umami Collects:

-
    -
  • Page Views: Which pages you visit on our site
  • -
  • Referrers: Which website referred you (if any)
  • -
  • Browser Type: Your browser name (e.g., Chrome, Firefox, Safari)
  • -
  • Device Type: Whether you're on desktop, tablet, or mobile
  • -
  • Country: Your country based on IP address (not stored)
  • -
+

Essential Cookies: Required for site functionality (session management, authentication)

-

What Umami Does NOT Collect:

-
    -
  • IP Addresses: Not stored or logged
  • -
  • Personal Information: No names, emails, or identifiers
  • -
  • Cookies: Completely cookie-free tracking
  • -
  • Cross-Site Tracking: We don't track you across other websites
  • -
  • Precise Location: Only country-level, no city or GPS data
  • -
+

Preference Cookies: Remember your settings (currency selection, language preference)

-

Do Not Track Support

-

- We respect the Do Not Track (DNT) browser setting. If you have DNT enabled in your browser, our analytics will not track your visit at all. -

- -

How to Opt Out

-

- You can opt out of analytics tracking at any time: -

-
    -
  • Browser Console Method: Open your browser's Developer Console (F12), and run: window.umamiOptOut()
  • -
  • Enable DNT: Turn on "Do Not Track" in your browser settings
  • -
  • Development Mode: Analytics are automatically disabled on localhost
  • -
-

- Note: Your opt-out preference is stored in your browser's localStorage. You'll need to opt out again if you clear your browser data. -

- -

Cookies

-

While Umami is cookie-free, we use cookies for other essential purposes:

- -

Essential Cookies: Required for site functionality (session management, authentication)

- -

Preference Cookies: Remember your settings (currency selection, language preference)

- -

+

You can control cookies through your browser settings. Disabling cookies may affect site functionality.

- -

Analytics Data Storage

-

- Analytics data is stored on our self-hosted Umami instance running on OVHCloud servers in France (EU). All analytics data remains within EU jurisdiction and is never shared with third parties. -

diff --git a/public/researcher.html b/public/researcher.html index fa44063e..bc4ff694 100644 --- a/public/researcher.html +++ b/public/researcher.html @@ -76,8 +76,6 @@ } - - diff --git a/public/test-pressure-chart.html b/public/test-pressure-chart.html index af5c0edd..46d450ba 100644 --- a/public/test-pressure-chart.html +++ b/public/test-pressure-chart.html @@ -6,8 +6,6 @@ Test - Pressure Chart - -