← back to Govarbitrage

src/app/privacy/page.tsx

130 lines

import type { Metadata } from "next";

export const metadata: Metadata = {
  title: "Privacy Policy",
  description:
    "How GovArbitrage handles data across the website and the iOS app.",
};

const UPDATED = "August 6, 2026";

export default function PrivacyPolicyPage() {
  return (
    <main className="mx-auto max-w-3xl px-6 py-16 text-neutral-200">
      <h1 className="text-3xl font-bold tracking-tight text-white">Privacy Policy</h1>
      <p className="mt-2 text-sm text-neutral-400">Last updated: {UPDATED}</p>

      <p className="mt-8 leading-relaxed">
        GovArbitrage aggregates public government auction listings and helps you find
        underpriced opportunities. This policy explains what data we handle across two
        surfaces — the <strong>website</strong> at auctions.agentabrams.com and the{" "}
        <strong>GovArbitrage iOS app</strong> — and how we handle it.
      </p>

      <Section title="What the iOS app collects">
        <p>
          The GovArbitrage iOS app does <strong>not</strong> track you and contains{" "}
          <strong>no advertising</strong>. It links no analytics or advertising SDKs. By
          default it stores only the API server address and an optional access credential you
          enter in Settings; these are held encrypted on your device (via the system keychain)
          and are sent only to the server you configure.
        </p>
        <p className="mt-4">
          <strong>Optional Sign in with Apple.</strong> The app works fully without an account.
          If you choose to sign in with Apple, we create a lightweight account and store your
          Apple user identifier and — only if you share them — your name and email address.
          These are used <strong>solely to authenticate you and link your account</strong>; they
          are never used for tracking or advertising and are never sold. You can sign out at any
          time in Settings, and you can request deletion of your account and its data by
          contacting us (see below).
        </p>
      </Section>

      <Section title="What the website collects">
        <ul className="list-disc space-y-2 pl-5">
          <li>
            <strong>Account information.</strong> If you create an account or subscribe, we
            store the email address and account details needed to provide the service.
          </li>
          <li>
            <strong>Payment information.</strong> Paid subscriptions are processed by our
            payment provider (Stripe). We do not store your full card number; Stripe handles
            payment data under its own privacy policy.
          </li>
          <li>
            <strong>Usage and log data.</strong> Like most websites, our servers record
            standard technical information (IP address, browser type, pages requested, and
            timestamps) to operate, secure, and improve the service.
          </li>
          <li>
            <strong>Cookies.</strong> We use strictly necessary cookies to keep you signed in
            and maintain your session. We do not sell your data.
          </li>
        </ul>
      </Section>

      <Section title="Auction data">
        <p>
          The auction listings shown in GovArbitrage are sourced from public government
          auction records and agency portals. That information is public and is not personal
          data about you.
        </p>
      </Section>

      <Section title="How we use data">
        <p>
          We use the information above only to provide, secure, maintain, and improve the
          service, to process subscriptions, and to communicate with you about your account.
          We do not sell personal information, and we do not use your data for third-party
          advertising.
        </p>
      </Section>

      <Section title="Data retention & your choices">
        <p>
          We retain account data for as long as your account is active. You may request access
          to, correction of, or deletion of your account data at any time by contacting us at
          the address below; we will delete your account and associated personal data on
          request, subject to any legal retention obligations.
        </p>
      </Section>

      <Section title="Children">
        <p>
          GovArbitrage is not directed to children under 13, and we do not knowingly collect
          personal information from them.
        </p>
      </Section>

      <Section title="Changes to this policy">
        <p>
          We may update this policy from time to time. Material changes will be reflected by
          the &ldquo;Last updated&rdquo; date above.
        </p>
      </Section>

      <Section title="Contact">
        <p>
          Questions about this policy or your data? Contact us at{" "}
          <a
            className="text-blue-400 underline"
            href="mailto:privacy@auctions.agentabrams.com"
          >
            privacy@auctions.agentabrams.com
          </a>
          .
        </p>
      </Section>
    </main>
  );
}

function Section({ title, children }: { title: string; children: React.ReactNode }) {
  return (
    <section className="mt-10">
      <h2 className="text-xl font-semibold text-white">{title}</h2>
      <div className="mt-3 leading-relaxed text-neutral-300">{children}</div>
    </section>
  );
}