diff --git a/src/app/page.tsx b/src/app/page.tsx index 7a2f5f1..1a40ba5 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -526,10 +526,17 @@ export default function Home() { Agent Wrapped — open source, privacy-first -
+
Currently supports Claude Code | More agents coming soon + | + + Privacy Policy +
diff --git a/src/app/privacy/page.tsx b/src/app/privacy/page.tsx new file mode 100644 index 0000000..66a6742 --- /dev/null +++ b/src/app/privacy/page.tsx @@ -0,0 +1,388 @@ +"use client"; + +import Link from "next/link"; +import { BlurFade } from "@/components/ui/blur-fade"; + +export default function PrivacyPolicy() { + return ( +
+ {/* Ambient gradient blobs */} +
+
+
+
+ + {/* Nav */} + + + {/* Content */} +
+ +

+ Privacy Policy +

+

+ Last updated: March 22, 2026 +

+
+ + +
+ {/* Overview */} +
+

+ Overview +

+

+ Agent Wrapped (“we”, “us”, or + “our”) is an open-source, privacy-first web + application that lets you upload coding agent trace files and + receive a visual breakdown of your AI coding tool usage. This + Privacy Policy explains what data we collect, what we do not + collect, how data is processed, and your rights regarding that + data. +

+
+ + {/* Trace Data */} +
+

+ 1. Your Agent Trace Data +

+

+ + Your trace data never leaves your browser. + {" "} + All parsing and analysis of your uploaded agent traces is + performed entirely client-side using JavaScript running in your + web browser. Specifically: +

+
    +
  • + Trace files are read into browser memory only. They are{" "} + never uploaded to + any server, API, or third-party service. +
  • +
  • + Trace data is{" "} + never stored in + cookies, localStorage, IndexedDB, or any other persistent + browser storage mechanism. +
  • +
  • + When you close or navigate away from the page, all trace data + is permanently discarded from memory. +
  • +
  • + No trace content — including file names, prompts, code + snippets, conversation history, or any other data from your + traces — is ever transmitted, logged, or collected by us. +
  • +
  • + This applies regardless of whether you accept or decline + analytics cookies. Your trace data is private in all cases. +
  • +
+
+ + {/* Analytics */} +
+

+ 2. Analytics (PostHog) +

+

+ If you consent to analytics cookies, we use{" "} + PostHog to collect + anonymous usage data that helps us understand how people use the + application and improve the experience. PostHog is configured in + privacy-preserving mode: +

+ +

+ What we track +

+
    +
  • + Page views — which + pages you visit (e.g. home, upload, dashboard, story). +
  • +
  • + Feature usage events{" "} + — anonymous counts of actions like “file uploaded”, + “parsing started”, “story started”, + “summary downloaded”. These events include metadata + such as agent type (e.g. “claude”), file count, + approximate file size, and session/message counts — but{" "} + + never the content of your traces or prompts + + . +
  • +
  • + Error events — + JavaScript error type and message to help us identify and fix + bugs. Error text is masked and no trace content is included. +
  • +
+ +

+ What we do NOT track +

+
    +
  • + Any content from your uploaded traces (prompts, code, file + paths, conversation history). +
  • +
  • Session recordings or screen captures.
  • +
  • + Autocaptured clicks, form inputs, or DOM interactions — all + autocapture is disabled. +
  • +
  • + Personal information such as your name, email address, IP + address (PostHog is configured not to store IP addresses), or + location. +
  • +
+ +

+ Where analytics data is stored +

+

+ Analytics data is sent to PostHog's US-based cloud + infrastructure ( + + us.i.posthog.com + + ). PostHog processes this data under their{" "} + + privacy policy + + . No analytics data is stored on our own servers. +

+ +

+ In-browser persistence +

+

+ PostHog is configured with{" "} + + persistence: “memory” + {" "} + — it does not set any cookies or write to localStorage for + tracking purposes. The only localStorage value we set is your + cookie consent preference ( + + cookie-consent + + : “accepted” or “declined”) so we + don't ask you again on every visit. +

+
+ + {/* Declining Cookies */} +
+

+ 3. If You Decline Analytics +

+

+ If you decline cookies via the consent banner, PostHog is{" "} + + never loaded or initialized + + . No analytics scripts will run, no events will be tracked, and + no data will be sent to PostHog or any other third party. The + application functions identically — you get the full experience + with zero data collection. The only data stored locally is your + consent preference in localStorage so the banner does not + reappear. +

+
+ + {/* No Accounts */} +
+

+ 4. No Accounts or Personal Data +

+

+ Agent Wrapped does not require or offer user accounts. We do not + collect, store, or process any personally identifiable + information (PII) such as names, email addresses, passwords, or + payment information. There is no login, no registration, and no + user profiles. +

+
+ + {/* Third-Party Services */} +
+

+ 5. Third-Party Services +

+

+ The only third-party service used is: +

+ +

+ We do not use any other analytics platforms, advertising + networks, social media trackers, or data brokers. +

+
+ + {/* Data Sharing */} +
+

+ 6. Data Sharing and Disclosure +

+

+ We do not sell, rent, trade, or otherwise disclose any user data + to third parties. Since we do not collect trace data or personal + information, there is nothing to share. Anonymous analytics data + processed by PostHog is used solely for product improvement and + is not shared with any other parties. +

+
+ + {/* Children */} +
+

+ 7. Children's Privacy +

+

+ Agent Wrapped is not directed at children under the age of 13 + (or the applicable age of digital consent in your jurisdiction). + We do not knowingly collect data from children. +

+
+ + {/* Your Rights */} +
+

+ 8. Your Rights +

+

You have the right to:

+
    +
  • + Decline analytics{" "} + — click “Decline” on the cookie consent banner. + PostHog will not be loaded. +
  • +
  • + + Withdraw consent at any time + {" "} + — clear your browser's localStorage for this site (or + clear all site data in your browser settings) and refresh the + page. The consent banner will reappear. +
  • +
  • + + Request deletion of analytics data + {" "} + — since analytics events are anonymous and not linked to an + identifiable user, we cannot look up or delete specific + records. However, because no PII is collected, these records + cannot be tied back to you. +
  • +
+
+ + {/* Open Source */} +
+

+ 9. Open Source Transparency +

+

+ Agent Wrapped is open source. You can inspect the full source + code to verify our privacy practices, including the PostHog + configuration, event tracking calls, and client-side processing + logic. We believe transparency is the strongest privacy + guarantee. +

+
+ + {/* Changes */} +
+

+ 10. Changes to This Policy +

+

+ We may update this Privacy Policy from time to time. Changes + will be reflected by updating the “Last updated” + date at the top of this page. We encourage you to review this + page periodically. Continued use of the application after + changes constitutes acceptance of the updated policy. +

+
+ + {/* Contact */} +
+

+ 11. Contact +

+

+ If you have questions about this Privacy Policy or our data + practices, please open an issue on our{" "} + + GitHub repository + + . +

+
+
+
+ + {/* Back link */} + +
+ + ← Back to Agent Wrapped + +
+
+
+
+ ); +} diff --git a/src/components/cookie-consent-banner.tsx b/src/components/cookie-consent-banner.tsx index 0a39426..5e9d51c 100644 --- a/src/components/cookie-consent-banner.tsx +++ b/src/components/cookie-consent-banner.tsx @@ -1,6 +1,7 @@ "use client" import { useState, useEffect } from "react" +import Link from "next/link" import { motion, AnimatePresence } from "motion/react" const CONSENT_KEY = "cookie-consent" @@ -64,7 +65,14 @@ export function CookieConsentBanner({

We use PostHog to track anonymous usage events (page views, button clicks) to improve the experience. No trace data is ever - collected. + collected. Read our{" "} + + Privacy Policy + + .