From 7b69ac2f4682be94ccc9d3e8b86b28cdbccb8f46 Mon Sep 17 00:00:00 2001 From: Jatin K Malik Date: Tue, 29 Sep 2026 01:07:51 -0700 Subject: [PATCH] fix(site): Phone chip, Free forever Cost copy, and privacy GA disclosure (#868) * fix(site): align Phone chip, Cost copy, and privacy with GA Use the official Android beta / iOS TestFlight chip on #ecosystem. Replace Free forever with Free and open source on privacy and open-source. Disclose vocalinux.com Google Analytics and scope no-telemetry claims to the installed app. Fixes #867 * fix(site): make privacy GA disclosure match the live gtag Spell out page views, the client-ID cookie, and IP/device processing for G-7NBBNJNNQ7. Align Data Collection with PRODUCT.md, drop the hidden telemetry weasel, and correct config.json plus the voice-storage row. --- web/src/app/open-source/page.tsx | 4 +-- web/src/app/page.tsx | 2 +- web/src/app/privacy/page.tsx | 58 ++++++++++++++++++++++++-------- 3 files changed, 47 insertions(+), 17 deletions(-) diff --git a/web/src/app/open-source/page.tsx b/web/src/app/open-source/page.tsx index d42840d..56321ec 100644 --- a/web/src/app/open-source/page.tsx +++ b/web/src/app/open-source/page.tsx @@ -42,7 +42,7 @@ const benefits = [ iconBg: "bg-primary/10", }, { - title: "Free Forever", + title: "Free and open source", description: "AGPL-3.0 licensed. Free to use, modify, and share. No freemium, no premium tier, no hidden costs.", icon: Heart, @@ -52,7 +52,7 @@ const benefits = [ ]; const vsProprietary = [ - { feature: "Cost", vocalinux: "Free forever", proprietary: "$10-500/month or $500+ license" }, + { feature: "Cost", vocalinux: "Free and open source", proprietary: "$10-500/month or $500+ license" }, { feature: "Source Code", vocalinux: "Fully open", proprietary: "Closed, proprietary" }, { feature: "Data Privacy", vocalinux: "Local engines by default", proprietary: "Often cloud-based" }, { feature: "Linux Support", vocalinux: "Native", proprietary: "Limited or none" }, diff --git a/web/src/app/page.tsx b/web/src/app/page.tsx index 84a4944..f29b24b 100644 --- a/web/src/app/page.tsx +++ b/web/src/app/page.tsx @@ -984,7 +984,7 @@ export default function HomePage() { iPhone + Android - Phone beta + Android beta / iOS TestFlight

VocaPhone

diff --git a/web/src/app/privacy/page.tsx b/web/src/app/privacy/page.tsx index bc356f8..9703d8b 100644 --- a/web/src/app/privacy/page.tsx +++ b/web/src/app/privacy/page.tsx @@ -24,7 +24,7 @@ export default function PrivacyPage() { headline: "Vocalinux Privacy Policy", description: "How Vocalinux handles voice data: local engines on your machine, optional Remote API to a server you configure.", - dateModified: "2026-02-19", + dateModified: "2026-09-23", author: { "@type": "Person", name: "Jatin K Malik", @@ -92,8 +92,8 @@ export default function PrivacyPage() {

Open Source

- Fully open source under AGPL-3.0. Inspect the code yourself on GitHub. No hidden - telemetry or data collection. + Fully open source under AGPL-3.0. Inspect the code yourself on GitHub. The installed + app does not send usage telemetry.

@@ -107,31 +107,61 @@ export default function PrivacyPage() {

- We do not collect any personal data. This - includes: + + The installed Vocalinux app does not send usage telemetry. + {" "} + It does not phone home. The installed app does not do the following + for us:

+

+ Local engines keep audio on your device. Remote API sends audio only + to the server you configure. +

+

+ Those limits apply to the installed app. They do not describe this + website. +

+
+ + +
+

+ + This website (vocalinux.com) +

+
+

+ vocalinux.com loads Google Analytics via the googletagmanager gtag + script for measurement ID{" "} + G-7NBBNJNNQ7{" "} + and runs gtag config with no IP anonymization and no cookie flags. + That sends page views and a Google Analytics client identifier (a + cookie) to Google. Google processes IP addresses and device and + browser data. The installed Vocalinux app does not send usage + telemetry. +

@@ -174,7 +204,7 @@ export default function PrivacyPage() {

- Vocalinux stores configuration locally at ~/.config/vocalinux/: + Vocalinux stores configuration locally at ~/.config/vocalinux/config.json:

- This data is stored in plain text YAML format. You can view, edit, or delete it at + This data is stored in JSON. You can view, edit, or delete it at any time.

@@ -232,12 +262,12 @@ export default function PrivacyPage() { Voice recordings stored - No + Not by us; Remote API only if you enable it Varies by service Cost - Free forever + Free and open source Subscription