mirror of https://github.com/VERT-sh/VERT.git
feat: translatable privacy policy
i forgor also fix inconsistencies with link colours
This commit is contained in:
parent
cf2e351424
commit
728281187c
|
|
@ -251,6 +251,37 @@
|
|||
}
|
||||
},
|
||||
"privacy": {
|
||||
"title": "Privacy Policy"
|
||||
"title": "Privacy Policy",
|
||||
"summary": {
|
||||
"title": "Summary",
|
||||
"description": "VERT's privacy policy is very simple: we do not collect or store any data on you at all. We don't use cookies or trackers, analytics are completely private, and all conversions (except videos) happen locally on your browser. Videos are deleted after being downloaded, or an hour, unless explicitly given permission by you to be stored; it will only be used for the purpose of troubleshooting. VERT self-hosts a Coolify instance for hosting the website and vertd (for video conversion), and a Plausible instance for completely anonymous and aggregated analytics.<br/><br/>Note this may only apply to the official VERT instance at [vert_link]vert.sh[/vert_link]; third-party instances may handle your data differently."
|
||||
},
|
||||
"conversions": {
|
||||
"title": "Conversions",
|
||||
"description": "Most conversions (images, documents, audio) happen entirely locally on your device using WebAssembly versions of the relevant tools (e.g. ImageMagick, Pandoc, FFmpeg). This means your files never leave your device and we will never have access to them.<br/><br/>Video conversions are performed on our servers because they require more processing power and cannot be done very quickly on the browser yet. Videos you convert with VERT are deleted after being downloaded, or after one hour, unless you explicitly give permission for us to store them longer purely for troubleshooting purposes."
|
||||
},
|
||||
"conversion_errors": {
|
||||
"title": "Conversion Errors",
|
||||
"description": "When a video conversion fails, we may collect some anonymous data to help us diagnose the issue. This data may include:",
|
||||
"list_job_id": "The job ID, which is the anonymized file name",
|
||||
"list_format_from": "The format you converted from",
|
||||
"list_format_to": "The format you converted to",
|
||||
"list_stderr": "The FFmpeg stderr output of your job (error message)",
|
||||
"list_video": "The actual video file (if given explicit permission)",
|
||||
"footer": "This information is used solely for the purpose of diagnosing conversion issues. The actual video file will only ever be collected if you give us permission to do so, where it will only be used for troubleshooting."
|
||||
},
|
||||
"analytics": {
|
||||
"title": "Analytics",
|
||||
"description": "We self-host a Plausible instance for completely anonymous and aggregated analytics. Plausible does not use cookies and complies with all major privacy regulations (GDPR/CCPA/PECR). You can opt out of analytics in the \"Privacy & data\" section in [settings_link]settings[/settings_link] and read more about Plausible's privacy practices [plausible_link]here[/plausible_link]."
|
||||
},
|
||||
"local_storage": {
|
||||
"title": "Local Storage",
|
||||
"description": "We use your browser's local storage to save your settings, and your browser's session storage to temporarily store the GitHub contributors list for the \"About\" section to reduce repeated GitHub API requests. No personal data is stored or transmitted.<br/><br/>The WebAssembly versions of the conversion tools we use (FFmpeg, ImageMagick, Pandoc) are also stored locally on your browser when you first visit the website, so you don't need to redownload them each visit. No personal data is stored or transmitted. You may view or delete this data at any time in the \"Privacy & data\" section in [settings_link]settings[/settings_link]."
|
||||
},
|
||||
"contact": {
|
||||
"title": "Contact",
|
||||
"description": "For questions, email us at: [email_link]hello@vert.sh[/email_link]. If you are using a third-party instance of VERT, please contact the hoster of that instance instead."
|
||||
},
|
||||
"last_updated": "Last updated: 2025-10-19"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@
|
|||
),
|
||||
],
|
||||
[true],
|
||||
["text-blue-500 font-normal hover:underline"],
|
||||
["text-blue-500 font-normal"],
|
||||
))}
|
||||
</span>
|
||||
</p>
|
||||
|
|
@ -59,7 +59,6 @@
|
|||
m["convert.errors.vertd_details_footer"](),
|
||||
"/privacy",
|
||||
[true],
|
||||
["text-blue-500 font-normal hover:underline"],
|
||||
))}
|
||||
</p>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -103,7 +103,6 @@
|
|||
m["about.credits.github_description"](),
|
||||
GITHUB_URL_VERT,
|
||||
true,
|
||||
"text-blue-500 font-normal hover:underline",
|
||||
),
|
||||
)}
|
||||
</p>
|
||||
|
|
@ -115,7 +114,6 @@
|
|||
m["about.credits.no_contributors"](),
|
||||
GITHUB_URL_VERT,
|
||||
true,
|
||||
"text-blue-500 font-normal hover:underline",
|
||||
),
|
||||
)}
|
||||
</p>
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@
|
|||
"discord_link",
|
||||
m["about.sponsors.description"](),
|
||||
DISCORD_URL,
|
||||
true
|
||||
))}
|
||||
<span class="inline-block mx-[2px] relative top-[2px]">
|
||||
<button
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<script lang="ts">
|
||||
import { m } from "$lib/paraglide/messages";
|
||||
import { link, sanitize } from "$lib/store/index.svelte";
|
||||
import { ShieldCheckIcon } from "lucide-svelte";
|
||||
</script>
|
||||
|
||||
|
|
@ -13,102 +14,80 @@
|
|||
class="w-full max-w-[1280px] flex flex-col md:flex-row gap-4 p-4 md:px-4 md:py-0"
|
||||
>
|
||||
<div class="bg-panel rounded-2xl p-6 shadow-panel text-lg font-normal">
|
||||
<h2 class="text-2xl mb-3">Summary</h2>
|
||||
<h2 class="text-2xl mb-3">{m["privacy.summary.title"]()}</h2>
|
||||
<p class="mb-4">
|
||||
VERT's privacy policy is very simple: we do not collect or store
|
||||
any data on you at all. We don't use cookies or trackers,
|
||||
analytics are completely private, and all conversions (except
|
||||
videos) happen locally on your browser. Videos are deleted after
|
||||
being downloaded, or an hour, unless explicitly given permission
|
||||
by you to be stored; it will only be used for the purpose of
|
||||
troubleshooting. VERT self-hosts a Coolify instance for hosting
|
||||
the website and vertd (for video conversion), and a Plausible
|
||||
instance for completely anonymous and aggregated analytics.
|
||||
<br />
|
||||
<br />
|
||||
Note this may only apply to the official VERT instance at
|
||||
<a href="https://vert.sh" class="underline">vert.sh</a>;
|
||||
third-party instances may handle your data differently.
|
||||
{@html sanitize(
|
||||
link(
|
||||
["vert_link"],
|
||||
m["privacy.summary.description"](),
|
||||
["https://vert.sh"],
|
||||
[true],
|
||||
),
|
||||
)}
|
||||
</p>
|
||||
|
||||
<h2 class="text-2xl mb-3">Conversions</h2>
|
||||
<h2 class="text-2xl mb-3">{m["privacy.conversions.title"]()}</h2>
|
||||
<p class="mb-4">
|
||||
Most conversions (images, documents, audio) happen entirely
|
||||
locally on your device using WebAssembly versions of the
|
||||
relevant tools (e.g. ImageMagick, Pandoc, FFmpeg). This means
|
||||
your files never leave your device and we will never have access
|
||||
to them.
|
||||
<br />
|
||||
<br />
|
||||
Video conversions are performed on our servers because they require
|
||||
more processing power and cannot be done very quickly on the browser
|
||||
yet. Videos you convert with VERT are deleted after being downloaded,
|
||||
or after one hour, unless you explicitly give permission for us to
|
||||
store them longer purely for troubleshooting purposes.
|
||||
{@html sanitize(m["privacy.conversions.description"]())}
|
||||
</p>
|
||||
|
||||
<h2 class="text-2xl mb-3">Conversion Errors</h2>
|
||||
<h2 class="text-2xl mb-3">
|
||||
{m["privacy.conversion_errors.title"]()}
|
||||
</h2>
|
||||
<div class="mb-4">
|
||||
When a video conversion fails, we may collect some anonymous
|
||||
data to help us diagnose the issue. This data may include:
|
||||
{m["privacy.conversion_errors.description"]()}
|
||||
<ul class="list-disc list-inside mt-2 mb-2">
|
||||
<li>The job ID, which is the anonymized file name</li>
|
||||
<li>The format you converted from</li>
|
||||
<li>The format you converted to</li>
|
||||
<li>
|
||||
The FFmpeg stderr output of your job (error message)
|
||||
</li>
|
||||
<li>
|
||||
The actual video file (if given explicit permission)
|
||||
</li>
|
||||
<li>{m["privacy.conversion_errors.list_job_id"]()}</li>
|
||||
<li>{m["privacy.conversion_errors.list_format_from"]()}</li>
|
||||
<li>{m["privacy.conversion_errors.list_format_to"]()}</li>
|
||||
<li>{m["privacy.conversion_errors.list_stderr"]()}</li>
|
||||
<li>{m["privacy.conversion_errors.list_video"]()}</li>
|
||||
</ul>
|
||||
This information is used solely for the purpose of diagnosing conversion
|
||||
issues. The actual video file will only ever be collected if you
|
||||
give us permission to do so, where it will only be used for troubleshooting.
|
||||
{m["privacy.conversion_errors.footer"]()}
|
||||
</div>
|
||||
|
||||
<h3 class="text-xl mt-4 mb-2">Analytics</h3>
|
||||
<h3 class="text-xl mt-4 mb-2">{m["privacy.analytics.title"]()}</h3>
|
||||
<p class="mb-4">
|
||||
We self-host a Plausible instance for completely anonymous and
|
||||
aggregated analytics. Plausible does not use cookies and
|
||||
complies with all major privacy regulations (GDPR/CCPA/PECR).
|
||||
You can opt out of analytics in the "Privacy & data" section in <a
|
||||
href="/settings"
|
||||
class="underline">settings</a
|
||||
>
|
||||
and read more about Plausible's privacy practices
|
||||
<a
|
||||
href="https://plausible.io/privacy-focused-web-analytics"
|
||||
class="underline">here</a
|
||||
>.
|
||||
{@html sanitize(
|
||||
link(
|
||||
["settings_link", "plausible_link"],
|
||||
m["privacy.analytics.description"](),
|
||||
[
|
||||
"/settings",
|
||||
"https://plausible.io/privacy-focused-web-analytics",
|
||||
],
|
||||
[false, true],
|
||||
),
|
||||
)}
|
||||
</p>
|
||||
|
||||
<h3 class="text-xl mt-4 mb-2">Local Storage</h3>
|
||||
<h3 class="text-xl mt-4 mb-2">
|
||||
{m["privacy.local_storage.title"]()}
|
||||
</h3>
|
||||
<p class="mb-4">
|
||||
We use your browser's local storage to save your settings, and
|
||||
your browser's session storage to temporarily store the GitHub
|
||||
contributors list for the "About" section to reduce repeated
|
||||
GitHub API requests. No personal data is stored or transmitted.
|
||||
<br />
|
||||
<br />
|
||||
The WebAssembly versions of the conversion tools we use (FFmpeg,
|
||||
ImageMagick, Pandoc) are also stored locally on your browser when
|
||||
you first visit the website, so you don’t need to redownload them
|
||||
each visit. No personal data is stored or transmitted. You may view
|
||||
or delete this data at any time in the "Privacy & data" section in
|
||||
<a href="/settings" class="underline">settings</a>.
|
||||
{@html sanitize(
|
||||
link(
|
||||
["settings_link"],
|
||||
m["privacy.local_storage.description"](),
|
||||
["/settings"],
|
||||
[false],
|
||||
),
|
||||
)}
|
||||
</p>
|
||||
|
||||
<h3 class="text-xl mt-4 mb-2">Contact</h3>
|
||||
<h3 class="text-xl mt-4 mb-2">{m["privacy.contact.title"]()}</h3>
|
||||
<p class="mb-0">
|
||||
For questions, email us at: <a
|
||||
href="mailto:hello@vert.sh"
|
||||
class="underline">hello@vert.sh</a
|
||||
>. If you are using a third-party instance of VERT, please
|
||||
contact the hoster of that instance instead.
|
||||
{@html sanitize(
|
||||
link(
|
||||
["email_link"],
|
||||
m["privacy.contact.description"](),
|
||||
["mailto:hello@vert.sh"],
|
||||
[false],
|
||||
),
|
||||
)}
|
||||
</p>
|
||||
|
||||
<p class="text-sm text-muted mt-6">Last updated: 2025-10-16</p>
|
||||
<p class="text-sm text-muted mt-6">{m["privacy.last_updated"]()}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue