Add privacy, ToS, and update sitemap

This commit is contained in:
jwinterm
2026-04-09 08:58:58 -04:00
parent 57a365dc06
commit c1fd1f3928
4 changed files with 324 additions and 0 deletions
+157
View File
@@ -0,0 +1,157 @@
import { Header } from "@/components/layout/header";
import { MobileNav } from "@/components/layout/mobile-nav";
import Link from "next/link";
import type { Metadata } from "next";
export const metadata: Metadata = {
title: "Privacy Policy | Such Software",
description: "Privacy policy for Such Software LLC and its websites and applications.",
alternates: { canonical: "/privacy" },
};
export default function PrivacyPage() {
return (
<main className="relative min-h-screen flex flex-col items-center bg-background text-foreground">
<Header />
<div id="main-content" className="z-10 w-full max-w-3xl mx-auto py-20 px-4 pb-24 md:pb-20">
<h1 className="text-4xl font-bold mb-8">Privacy Policy</h1>
<div className="prose dark:prose-invert max-w-none space-y-6">
<p className="text-muted-foreground">Last updated: April 9, 2026</p>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">1. Who We Are</h2>
<p>
Such Software LLC (&quot;we&quot;, &quot;our&quot;, or &quot;us&quot;) is a software studio based in Kennett Square, Pennsylvania, USA.
This policy covers our website at such.software and all subdomains (collectively, the &quot;Site&quot;).
</p>
<p>
For privacy policies specific to our mobile applications, see:
</p>
<ul className="list-disc pl-6 space-y-2">
<li><Link href="/products/vegan-iq/privacy" className="text-blue-600 dark:text-blue-400 hover:underline">Vegan IQ Privacy Policy</Link></li>
<li><Link href="/products/bauhaus-echo/privacy" className="text-blue-600 dark:text-blue-400 hover:underline">Bauhaus Echo Privacy Policy</Link></li>
<li><Link href="/products/suchoice/privacy" className="text-blue-600 dark:text-blue-400 hover:underline">Suchoice Privacy Policy</Link></li>
<li><Link href="/products/wownero-moon-launch/privacy" className="text-blue-600 dark:text-blue-400 hover:underline">Wownero Moon Launch Privacy Policy</Link></li>
</ul>
</section>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">2. Information We Collect</h2>
<h3 className="text-xl font-medium mt-4 mb-2">Contact Form Submissions</h3>
<p>
If you use the contact form on our Site, we collect the information you provide: your name, email address, and message.
This information is used solely to respond to your inquiry. We do not add you to marketing lists or share your contact
information with third parties.
</p>
<h3 className="text-xl font-medium mt-4 mb-2">Automatically Collected Information</h3>
<p>
Our Site does not use analytics services, tracking pixels, or advertising cookies.
We do not use Google Analytics, Facebook Pixel, or similar tracking tools on this website.
</p>
<p>
Our hosting infrastructure (Vercel) may collect standard server logs including IP addresses, browser type,
and pages visited. This data is used for security and performance purposes and is subject to{" "}
<a href="https://vercel.com/legal/privacy-policy" target="_blank" rel="noopener noreferrer" className="text-blue-600 dark:text-blue-400 hover:underline">
Vercel&apos;s Privacy Policy
</a>.
</p>
<h3 className="text-xl font-medium mt-4 mb-2">Cookies and Local Storage</h3>
<p>
Our Site uses <strong>localStorage</strong> (not cookies) to store your theme preference (light or dark mode).
This is a functional preference stored only in your browser and is never transmitted to our servers.
</p>
<p>
Our contact form uses Cloudflare Turnstile for bot protection, which may set a strictly necessary security cookie.
This cookie is exempt from consent requirements under GDPR as it is necessary for the legitimate function of the form.
</p>
<p>
We do not set any advertising, analytics, or tracking cookies.
</p>
</section>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">3. How We Use Your Information</h2>
<ul className="list-disc pl-6 space-y-2">
<li>To respond to contact form inquiries.</li>
<li>To maintain and improve the security and performance of the Site.</li>
<li>To remember your theme preference via localStorage.</li>
</ul>
<p className="mt-4">We do not sell, rent, or share your personal information with third parties for marketing purposes.</p>
</section>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">4. Third-Party Services</h2>
<p>The Site uses the following third-party services:</p>
<ul className="list-disc pl-6 space-y-2">
<li>
<strong>Vercel</strong> — hosting and deployment.{" "}
<a href="https://vercel.com/legal/privacy-policy" target="_blank" rel="noopener noreferrer" className="text-blue-600 dark:text-blue-400 hover:underline">Privacy Policy</a>
</li>
<li>
<strong>Cloudflare Turnstile</strong> — bot protection on the contact form.{" "}
<a href="https://www.cloudflare.com/privacypolicy/" target="_blank" rel="noopener noreferrer" className="text-blue-600 dark:text-blue-400 hover:underline">Privacy Policy</a>
</li>
</ul>
</section>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">5. Data Retention</h2>
<p>
Contact form submissions are retained only as long as necessary to respond to your inquiry.
Server logs maintained by our hosting provider are subject to their own retention policies.
</p>
</section>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">6. Your Rights</h2>
<p>Depending on your location, you may have the right to:</p>
<ul className="list-disc pl-6 space-y-2">
<li><strong>Access</strong> the personal data we hold about you.</li>
<li><strong>Request deletion</strong> of your personal data.</li>
<li><strong>Opt out</strong> of any data processing (though we perform minimal processing as described above).</li>
</ul>
<p className="mt-4">
To exercise any of these rights, contact us at{" "}
<a href="mailto:privacy@such.software" className="text-blue-600 dark:text-blue-400 hover:underline">privacy@such.software</a>.
</p>
</section>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">7. Children&apos;s Privacy</h2>
<p>
Our Site is not directed at children under the age of 13. We do not knowingly collect personal
information from children under 13. If you believe a child has provided us with personal information,
please contact us and we will promptly delete it.
</p>
</section>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">8. Changes to This Policy</h2>
<p>
We may update this Privacy Policy from time to time. Changes will be posted on this page with an updated
&quot;Last updated&quot; date. Your continued use of the Site after any changes constitutes acceptance of the updated policy.
</p>
</section>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">9. Contact Us</h2>
<p>
Such Software LLC<br />
110 E State St, Suite 300<br />
Kennett Square, PA 19348<br />
USA
</p>
<p className="mt-2">
Email: <a href="mailto:privacy@such.software" className="text-blue-600 dark:text-blue-400 hover:underline">privacy@such.software</a>
</p>
</section>
</div>
</div>
<MobileNav />
</main>
);
}
+4
View File
@@ -12,11 +12,15 @@ export default function sitemap(): MetadataRoute.Sitemap {
{ url: `${base}/products/custom-websites`, lastModified: new Date(), changeFrequency: "monthly", priority: 0.8 },
{ url: `${base}/products/smirk-wallet`, lastModified: new Date(), changeFrequency: "monthly", priority: 0.8 },
{ url: `${base}/products/bauhaus-echo`, lastModified: new Date(), changeFrequency: "monthly", priority: 0.8 },
{ url: `${base}/products/vegan-iq`, lastModified: new Date(), changeFrequency: "monthly", priority: 0.8 },
{ url: `${base}/products/suchoice`, lastModified: new Date(), changeFrequency: "monthly", priority: 0.7 },
{ url: `${base}/products/wownero-moon-launch`, lastModified: new Date(), changeFrequency: "monthly", priority: 0.7 },
{ url: `${base}/services`, lastModified: new Date(), changeFrequency: "monthly", priority: 0.9 },
{ url: `${base}/about`, lastModified: new Date(), changeFrequency: "monthly", priority: 0.7 },
{ url: `${base}/support`, lastModified: new Date(), changeFrequency: "monthly", priority: 0.5 },
{ url: `${base}/privacy`, lastModified: new Date(), changeFrequency: "yearly", priority: 0.3 },
{ url: `${base}/terms`, lastModified: new Date(), changeFrequency: "yearly", priority: 0.3 },
{ url: `${base}/links`, lastModified: new Date(), changeFrequency: "monthly", priority: 0.5 },
{ url: `${base}/blog`, lastModified: new Date(), changeFrequency: "weekly", priority: 0.8 },
];
+161
View File
@@ -0,0 +1,161 @@
import { Header } from "@/components/layout/header";
import { MobileNav } from "@/components/layout/mobile-nav";
import Link from "next/link";
import type { Metadata } from "next";
export const metadata: Metadata = {
title: "Terms of Service | Such Software",
description: "Terms of service for Such Software LLC websites and applications.",
alternates: { canonical: "/terms" },
};
export default function TermsPage() {
return (
<main className="relative min-h-screen flex flex-col items-center bg-background text-foreground">
<Header />
<div id="main-content" className="z-10 w-full max-w-3xl mx-auto py-20 px-4 pb-24 md:pb-20">
<h1 className="text-4xl font-bold mb-8">Terms of Service</h1>
<div className="prose dark:prose-invert max-w-none space-y-6">
<p className="text-muted-foreground">Last updated: April 9, 2026</p>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">1. Acceptance of Terms</h2>
<p>
By accessing or using the websites and applications operated by Such Software LLC (&quot;we&quot;, &quot;our&quot;, or &quot;us&quot;),
including such.software and all subdomains (collectively, the &quot;Services&quot;), you agree to be bound by these Terms of Service.
If you do not agree to these terms, do not use the Services.
</p>
</section>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">2. Description of Services</h2>
<p>
Such Software LLC develops and operates software products including mobile applications, web applications,
and browser-based games. Our Services include but are not limited to:
</p>
<ul className="list-disc pl-6 space-y-2">
<li><strong>Vegan IQ</strong> — a plant-based trivia application for iOS and Android</li>
<li><strong>Bauhaus Echo</strong> — a visual memory puzzle game for iOS, Android, web, and desktop</li>
<li><strong>Suchoice</strong> — an AI-powered decision-making application for iOS and Android</li>
<li><strong>such.software</strong> — our company website and portfolio</li>
</ul>
</section>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">3. Use of Services</h2>
<p>You agree to use the Services only for lawful purposes and in accordance with these Terms. You agree not to:</p>
<ul className="list-disc pl-6 space-y-2">
<li>Use the Services in any way that violates applicable laws or regulations.</li>
<li>Attempt to interfere with or disrupt the Services or their underlying infrastructure.</li>
<li>Attempt to gain unauthorized access to any part of the Services.</li>
<li>Use automated tools to scrape, crawl, or extract data from the Services without permission.</li>
<li>Reverse engineer, decompile, or disassemble any software provided as part of the Services.</li>
</ul>
</section>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">4. Intellectual Property</h2>
<p>
All content, design, code, graphics, and other materials available through the Services are the property of
Such Software LLC or its licensors and are protected by copyright, trademark, and other intellectual property laws.
</p>
<p>
You may not reproduce, distribute, modify, or create derivative works from any content on the Services without
our prior written consent.
</p>
</section>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">5. In-App Purchases</h2>
<p>
Some of our mobile applications offer in-app purchases. All purchases are processed by Apple (App Store) or
Google (Google Play) and are subject to their respective terms and refund policies. We do not process or store
payment information directly.
</p>
<p>
In-app purchases are non-transferable and may only be used within the application for which they were purchased.
</p>
</section>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">6. Advertising</h2>
<p>
Some of our mobile applications display advertisements provided by Google AdMob. By using these applications,
you acknowledge that advertisements may be displayed and that ad-related data collection is governed by
Google&apos;s privacy policies. You may remove advertisements by purchasing the &quot;Remove Ads&quot; option where available.
</p>
</section>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">7. Data and Content Accuracy</h2>
<p>
Our applications, including Vegan IQ, present information sourced from publicly available datasets (USDA, NIH,
FAOSTAT, peer-reviewed research). While we make reasonable efforts to ensure accuracy, we do not guarantee that
all information is complete, current, or error-free. The content in our applications is for educational and
entertainment purposes and should not be used as a substitute for professional dietary, medical, or environmental advice.
</p>
</section>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">8. Disclaimer of Warranties</h2>
<p>
The Services are provided &quot;as is&quot; and &quot;as available&quot; without warranties of any kind, either express or implied,
including but not limited to implied warranties of merchantability, fitness for a particular purpose, and non-infringement.
</p>
<p>
We do not warrant that the Services will be uninterrupted, error-free, or free of viruses or other harmful components.
</p>
</section>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">9. Limitation of Liability</h2>
<p>
To the fullest extent permitted by law, Such Software LLC shall not be liable for any indirect, incidental, special,
consequential, or punitive damages, including but not limited to loss of profits, data, or use, arising out of or
related to your use of the Services, whether based on warranty, contract, tort, or any other legal theory.
</p>
<p>
Our total liability for any claim arising from the Services shall not exceed the amount you paid us, if any,
for the specific Service giving rise to the claim during the twelve months preceding the claim.
</p>
</section>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">10. Governing Law</h2>
<p>
These Terms shall be governed by and construed in accordance with the laws of the Commonwealth of Pennsylvania,
United States, without regard to its conflict of law provisions. Any legal action arising from these Terms shall
be brought exclusively in the courts located in Chester County, Pennsylvania.
</p>
</section>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">11. Changes to These Terms</h2>
<p>
We reserve the right to modify these Terms at any time. Changes will be posted on this page with an updated
&quot;Last updated&quot; date. Your continued use of the Services after any changes constitutes acceptance of the updated Terms.
</p>
</section>
<section>
<h2 className="text-2xl font-semibold mt-8 mb-4">12. Contact Us</h2>
<p>
If you have questions about these Terms, contact us at:
</p>
<p className="mt-2">
Such Software LLC<br />
110 E State St, Suite 300<br />
Kennett Square, PA 19348<br />
USA
</p>
<p className="mt-2">
Email: <a href="mailto:legal@such.software" className="text-blue-600 dark:text-blue-400 hover:underline">legal@such.software</a>
</p>
</section>
</div>
</div>
<MobileNav />
</main>
);
}
@@ -35,6 +35,8 @@ export function Footer() {
<nav className="flex flex-col gap-2 text-sm text-muted-foreground">
<Link href="/services" className="hover:text-primary transition-colors">Services</Link>
<Link href="/about" className="hover:text-primary transition-colors">About</Link>
<Link href="/privacy" className="hover:text-primary transition-colors">Privacy Policy</Link>
<Link href="/terms" className="hover:text-primary transition-colors">Terms of Service</Link>
<a href="https://maps.app.goo.gl/JeGx1rHFcriMdngn9" target="_blank" rel="noopener noreferrer" className="hover:text-primary transition-colors">
Google Business
</a>