feat(landing): refocus hero on privacy-sensitive teams (#431)

Retitle the homepage hero to "File processing for privacy-sensitive
teams", drop the redundant infrastructure subline, and trim the trust
badges to the four foundational signals (self-hosted, open source,
air-gap capable, compliance-friendly).

Align the homepage title and meta description to the new positioning,
overriding the site-wide defaults for the homepage only.

Claude-Session: https://claude.ai/code/session_01EhgRGhvhNGJVQHcdFdcNMa
This commit is contained in:
SnapOtter
2026-07-04 20:52:59 +08:00
committed by GitHub
parent 8cdd85a493
commit 8451f9be08
2 changed files with 8 additions and 8 deletions
+3 -7
View File
@@ -7,12 +7,9 @@ import TrustSignals from "./TrustSignals.astro";
const trustBadges = [
"Self-hosted",
"Privacy-sensitive",
"Compliance-friendly",
"Air-gap capable",
"SAML SSO",
"Audit logging",
"Open source",
"Air-gap capable",
"Compliance-friendly",
];
---
@@ -44,8 +41,7 @@ const trustBadges = [
<!-- Headline: one precise promise for privacy-sensitive buyers -->
<h1 class="animate-fade-up mt-8 font-display text-4xl font-extrabold tracking-tight text-white sm:text-5xl md:text-6xl lg:text-7xl" style="animation-delay: 0.1s; text-shadow: 0 2px 30px rgba(90, 20, 0, 0.28);">
Private file processing, self-hosted.
<span class="mt-3 block text-2xl font-bold text-white/90 sm:text-3xl md:text-4xl">Inside your infrastructure.</span>
File processing for privacy-sensitive teams.
</h1>
<!-- Subtitle: one calm supporting line -->
+5 -1
View File
@@ -15,6 +15,10 @@ import Base from "@/layouts/Base.astro";
const toolCount = TOOLS.length;
const pageTitle = "SnapOtter | Self-Hosted File Processing for Privacy-Sensitive Teams";
const pageDescription =
"Self-hosted file processing for privacy-sensitive teams. Image, video, audio, PDF, and file tools with local AI and enterprise controls, on infrastructure you own. The open-source alternative to Smallpdf, iLovePDF, and CloudConvert.";
const websiteSchema = {
"@context": "https://schema.org",
"@type": "WebSite",
@@ -100,7 +104,7 @@ const navSchema = {
};
---
<Base canonical="https://snapotter.com">
<Base title={pageTitle} description={pageDescription} canonical="https://snapotter.com">
<Fragment slot="head">
<JsonLd data={[websiteSchema, softwareSchema, navSchema]} />
</Fragment>