Files
SnapOtter/apps/landing/src/pages/privacy.astro
T
SnapOtterandGitHub f3342a1e57 fix: harden Docker image and async job responses
Harden Docker runtime packaging, preserve async job response semantics, fix Redis subscriber startup connections, clear lint warnings, and harden enterprise S3 object body handling.
2026-07-01 12:32:33 +08:00

158 lines
6.2 KiB
Plaintext

---
// biome-ignore-all lint/correctness/noUnusedImports: Astro template consumes component imports.
// biome-ignore-all lint/correctness/noUnusedVariables: Astro template consumes frontmatter values.
import Footer from "@/components/Footer.astro";
import JsonLd from "@/components/JsonLd.astro";
import Navbar from "@/components/Navbar.astro";
import Base from "@/layouts/Base.astro";
const breadcrumbJsonLd = {
"@context": "https://schema.org",
"@type": "BreadcrumbList",
itemListElement: [
{ "@type": "ListItem", position: 1, name: "Home", item: "https://snapotter.com" },
{
"@type": "ListItem",
position: 2,
name: "Privacy Policy",
item: "https://snapotter.com/privacy",
},
],
};
---
<Base
title="Privacy Policy | SnapOtter"
description="SnapOtter is self-hosted software. We do not process, store, or have access to your files or data. Learn about our privacy practices."
canonical="https://snapotter.com/privacy"
>
<Fragment slot="head">
<JsonLd data={breadcrumbJsonLd} />
</Fragment>
<Navbar />
<main id="main" class="px-6 pt-32 pb-20 md:pt-40 md:pb-28">
<div class="mx-auto max-w-3xl">
<div class="reveal text-center">
<h1 class="font-display text-4xl font-bold tracking-tight md:text-5xl">Privacy Policy</h1>
<p class="mt-6 text-lg text-muted">Last updated: June 24, 2026</p>
</div>
<div class="mt-16 space-y-12 text-sm leading-relaxed text-muted">
<section class="reveal">
<h2 class="text-lg font-semibold text-foreground">Data Controller</h2>
<p class="mt-3">
SnapOtter is a product of Chocolate Wafers General Trading Pte. Ltd. (UEN
202527149C), registered in Singapore. References to &quot;we&quot;,
&quot;us&quot;, or &quot;our&quot; in this policy refer to Chocolate Wafers
General Trading Pte. Ltd.
</p>
</section>
<section class="reveal">
<h2 class="text-lg font-semibold text-foreground">Overview</h2>
<p class="mt-3">
SnapOtter is self-hosted software. We do not process, store, or have access to
your files or data. This privacy policy covers the snapotter.com website and
optional analytics within the software.
</p>
</section>
<section class="reveal">
<h2 class="text-lg font-semibold text-foreground">Website (snapotter.com)</h2>
<ul class="mt-3 list-disc space-y-2 pl-5">
<li>We do not use tracking cookies.</li>
<li>
We use Cloudflare Web Analytics for anonymous, aggregate traffic metrics (page
views, visits, referrers). It uses no cookies, collects no personal data, and
does not track individual users across sites.
</li>
<li>
Contact form submissions are processed via Formspree. Their privacy policy
applies to that data.
</li>
</ul>
</section>
<section class="reveal">
<h2 class="text-lg font-semibold text-foreground">Self-Hosted Software</h2>
<ul class="mt-3 list-disc space-y-2 pl-5">
<li>All file processing happens entirely on your server.</li>
<li>Your files are never sent anywhere.</li>
<li>No personal data, file contents, or file names leave your network.</li>
</ul>
</section>
<section class="reveal">
<h2 class="text-lg font-semibold text-foreground">Analytics</h2>
<ul class="mt-3 list-disc space-y-2 pl-5">
<li>
Anonymous product analytics (tool usage patterns, error reports) help improve the
software. Your files, file names, and personal data are never included.
</li>
<li>
It is on by default. An administrator can turn it off any time with a one-click
toggle under Settings &gt; System &gt; Privacy. No rebuild is required, and it stops
immediately for the whole instance.
</li>
<li>
To build an image that can never emit analytics, set the
<code class="text-xs">SNAPOTTER_ANALYTICS=off</code> build arg as a compile-time
hard-off.
</li>
<li>
Optional in-app feedback is sent only when a user submits it, and only when analytics
is enabled. Feedback appears in PostHog as <code class="text-xs">feedback_submitted</code>.
Contact details are included only after explicit contact consent. Files, file names,
upload paths, private outputs, and raw error logs are not included.
</li>
</ul>
</section>
<section class="reveal">
<h2 class="text-lg font-semibold text-foreground">Contact Form</h2>
<ul class="mt-3 list-disc space-y-2 pl-5">
<li>
When you submit the contact form, your name, email, company, and message are
sent to us via Formspree.
</li>
<li>We use this information only to respond to your inquiry.</li>
<li>We do not sell or share your contact information.</li>
</ul>
</section>
<section class="reveal">
<h2 class="text-lg font-semibold text-foreground">Open Source</h2>
<p class="mt-3">
SnapOtter is open source. You can inspect the entire codebase to verify our
privacy practices.
</p>
</section>
<section class="reveal">
<h2 class="text-lg font-semibold text-foreground">Changes</h2>
<p class="mt-3">
We may update this policy. Changes will be posted on this page.
</p>
</section>
<section class="reveal">
<h2 class="text-lg font-semibold text-foreground">Contact</h2>
<p class="mt-3">
If you have questions about this privacy policy, contact us at
<a
href="mailto:contact@snapotter.com"
class="text-primary font-medium hover:underline underline-offset-4"
>
contact@snapotter.com
</a>.
</p>
</section>
</div>
</div>
</main>
<Footer />
</Base>