← back to IWasCute

src/app/privacy/page.tsx

134 lines

import type { Metadata } from 'next'
import Link from 'next/link'
import Navbar from '@/components/shared/Navbar'

export const metadata: Metadata = {
  title: 'Privacy Policy — I was Cute',
  description:
    'What I was Cute collects, how it is used, who it is shared with, and how to have it removed.',
}

const UPDATED = 'September 10, 2026'

const SECTIONS: { heading: string; body: string[] }[] = [
  {
    heading: 'Current status of this service',
    body: [
      'I was Cute is in public preview. The photo-submission flow is a walkthrough of the intended experience: it does not yet send, upload, or store the photographs or release details you enter. Nothing you type into the licensor flow leaves your browser, and no submission is queued for review. We say this here because the rest of this policy describes what we collect once submission is live, and we do not want that read as a description of what is happening today.',
      'The parts of this policy that apply right now are the account and analytics sections below.',
    ],
  },
  {
    heading: 'What we collect',
    body: [
      'Account information, if you create an account: your email address, a display name, a hashed password (we never store the password itself), whether your email has been verified, whether you have confirmed you are 18 or older, and an optional avatar image.',
      'Photo submissions, once submission is live: the photographs you choose to upload, and the rights information you provide with them — your relationship to the photo, the photographer’s name, the approximate year it was taken, whether you have the photographer’s permission or hold estate rights, whether you are the person pictured, whether that person is now an adult, which uses you permit (editorial, commercial, AI training), and the name you type as a signature on the likeness release, with the date and time you signed it.',
      'Review records: the outcome of our rights review, who reviewed it, when, and any notes attached to that decision.',
    ],
  },
  {
    heading: 'Why we collect it',
    body: [
      'The rights information exists so that no photograph is offered for license until its copyright and likeness permissions are documented. That is the entire premise of the service, and it is why the questions are as specific as they are. We use your email to contact you about your own submissions and account.',
      'We do not sell your personal information, and we do not use your photographs for any purpose you did not explicitly permit in the release. If you do not tick AI training, your photograph is not offered for AI training.',
    ],
  },
  {
    heading: 'Photographs of children',
    body: [
      'This service is built around photographs of people’s own childhoods, which means the images often depict minors. That raises the stakes rather than lowering them. Accounts are for adults only: you must confirm you are 18 or older, and you may only submit a photograph if you are the person pictured, or you hold the rights and the pictured person consents. We do not accept submissions of children who are still minors, and we do not knowingly collect personal information from anyone under 18.',
      'If you believe a photograph of you was submitted without your consent, contact us and we will remove it. We will not require you to prove ownership of the image to have your own likeness taken down.',
    ],
  },
  {
    heading: 'Third parties on this site',
    body: [
      'Google Analytics 4 (measurement ID G-2DHDBP8R78) records how visitors move through the site — pages viewed, approximate location, device and browser. It is loaded on every page.',
      'Google AdSense (publisher ID ca-pub-5278231299883833) serves advertising and may use cookies or similar technologies to personalize the ads you see. Google’s use of this data is governed by Google’s own privacy policy, and you can review or change your ad personalization settings at google.com/settings/ads.',
      'These two are the only third-party services that receive data from your visit. We do not share account details or photographs with them.',
    ],
  },
  {
    heading: 'Cookies',
    body: [
      'Cookies on this site come from the two Google services above (analytics and advertising) and, once accounts are live, from keeping you signed in. You can block or delete cookies in your browser; analytics and advertising cookies are not required for the site to work, though blocking them may affect the ads you are shown.',
    ],
  },
  {
    heading: 'How long we keep things',
    body: [
      'Account records are kept while your account exists. Photographs and their release records are kept while the photograph is listed, and are deleted when you withdraw it — except that we retain the record of the rights decision itself, because it is the evidence that a licensed use was properly cleared at the time it was granted.',
    ],
  },
  {
    heading: 'Your choices',
    body: [
      'You can ask us what we hold about you, ask us to correct it, ask us to delete it, or withdraw a photograph from the marketplace at any time. Withdrawing a photo stops new licenses; it cannot retroactively cancel a license someone already purchased, which is why the permissions you set at submission matter.',
      'Depending on where you live you may have additional rights under laws such as the GDPR or the CCPA. We apply the choices above to everyone regardless of location.',
    ],
  },
  {
    heading: 'Contact',
    body: [
      'For any privacy question, removal request, or correction, use the contact page. Removal requests are handled as a priority, and you do not need to explain why.',
    ],
  },
]

export default function PrivacyPage() {
  return (
    <>
      <Navbar />
      <main
        className="flex-1 px-6 py-16 md:px-12"
        style={{ background: 'var(--color-cream)', color: 'var(--color-brown)' }}
      >
        <div className="mx-auto max-w-2xl">
          <p
            className="text-xs uppercase tracking-[0.2em] mb-3"
            style={{ color: 'var(--color-warm-gray)' }}
          >
            Privacy
          </p>
          <h1 className="text-4xl font-black tracking-tighter mb-3">Privacy Policy</h1>
          <p className="text-sm mb-10" style={{ color: 'var(--color-warm-gray)' }}>
            Last updated {UPDATED}
          </p>

          {SECTIONS.map(({ heading, body }) => (
            <section key={heading} className="mb-10">
              <h2 className="text-xl font-bold mb-3">{heading}</h2>
              {body.map((p, i) => (
                <p
                  key={i}
                  className="mb-3 leading-relaxed"
                  style={{ color: 'var(--color-warm-gray)' }}
                >
                  {p}
                </p>
              ))}
            </section>
          ))}

          <div className="flex flex-wrap gap-3 mt-12">
            <Link
              href="/terms"
              className="px-5 py-2.5 rounded-2xl text-sm font-semibold transition-all hover:scale-105"
              style={{ background: 'var(--color-cream-dark)', color: 'var(--color-brown)' }}
            >
              Terms of Service
            </Link>
            <Link
              href="/contact"
              className="px-5 py-2.5 rounded-2xl text-sm font-semibold transition-all hover:scale-105"
              style={{ background: 'var(--color-peach)', color: 'var(--color-brown)' }}
            >
              Contact us
            </Link>
          </div>
        </div>
      </main>
    </>
  )
}