This Privacy Policy describes how Markup.fyi ("we," "us," or "our") collects, uses, and protects your information when you use our AI-powered writing analysis service.
1. Information We Collect
We collect the following types of information:
- Account information — email address, display name, and authentication provider details when you create an account.
- Document content — text you submit for analysis. Guest usage is processed in real time and not stored on our servers after analysis completes. Signed-in users (free and Pro) can save documents in Convex for persistence across sessions.
- Analysis metadata — lens selections, flag counts, and aggregate analysis statistics (not the content itself).
- Usage data — page views, feature usage, and interaction patterns collected via Vercel Analytics.
- Technical data — browser type, operating system, device type, IP address, and referral source.
- Error data — crash reports and performance metrics collected via Sentry to improve reliability.
2. How We Use Your Information
We use your information to:
- Provide analysis — transmit your text to Google Gemini API to generate flags, suggestions, and remixes.
- Process payments — manage subscriptions and billing through Stripe.
- Monitor errors and performance — identify and resolve bugs using Sentry.
- Communicate with you — send transactional emails only (password resets, billing receipts, service updates). We do not send marketing emails.
- Enforce rate limits — track usage to maintain fair access across tiers.
- Improve the service — analyze anonymized, aggregate usage patterns. We never use your individual content for training or improvement purposes.
3. Google Gemini API
Your text is transmitted to Google's Gemini API over encrypted HTTPS for analysis. Under Google's paid API terms:
- Google does not use data sent through paid API calls to train or improve their models.
- Google may retain API inputs and outputs for up to 55 days solely for abuse monitoring and safety purposes.
- Data is processed in accordance with Google's Gemini API Terms of Service.
4. Data Storage & Retention
| Data Type | Free Tier | Pro Tier |
|---|---|---|
| Document text | Guest: not stored; signed-in free: stored when you save | Stored in Convex when you save, until you delete it |
| Analysis results | Guest: session only; signed-in free: stored with document | Stored with document in Convex |
| Account information | N/A (guest access) | Stored until account deletion |
| Payment information | N/A | Managed by Stripe; we do not store card details |
| Error logs | Retained for 90 days in Sentry | |
| Analytics | Aggregated, anonymized data retained by Vercel | |
5. Third-Party Services
We share data with the following third-party services as necessary to operate Markup.fyi:
| Service | Purpose | Data Shared | Privacy Policy |
|---|---|---|---|
| Google Gemini API | AI-powered text analysis | Document text submitted for analysis | Google AI Terms |
| Stripe | Payment processing | Email, payment method, billing address | Stripe Privacy |
| Convex | Database (signed-in document storage) | Documents, account data, analysis results | Convex Privacy |
| Vercel | Hosting and analytics | Usage data, technical data | Vercel Privacy |
| Sentry | Error monitoring | Error logs, stack traces, device info | Sentry Privacy |
| Resend | Transactional email | Email address, message content | Resend Privacy |
| BetterAuth | Authentication (self-hosted) | Credentials processed on our infrastructure; no data shared externally | Self-hosted |
6. Cookies & Local Storage
Cookies:
- Session cookie — used for authentication. Essential for logged-in functionality.
- __vercel_analytics — anonymous analytics cookie set by Vercel Analytics.
Local Storage:
- Theme preference — stores your display mode setting.
- Rate limit counters — tracks analysis usage locally to provide accurate feedback on remaining quota.
We do not use third-party advertising cookies, engage in cross-site tracking, or employ browser fingerprinting techniques.
7. Your Rights
Universal rights (available to all users):
- Access — request a copy of the personal data we hold about you.
- Correction — request correction of inaccurate data.
- Deletion — request deletion of your account and associated data.
- Portability — receive your data in a machine-readable format.
- Opt-out of analytics — disable Vercel Analytics tracking.
GDPR (European Economic Area residents):
- Legal bases for processing — consent (analytics), contract performance (providing the service), and legitimate interest (security, fraud prevention).
- Withdraw consent — you may withdraw consent at any time without affecting prior processing.
- Complaint — you may file a complaint with your local Data Protection Authority.
CCPA (California residents):
- We do not sell your personal information.
- We do not share your personal information for behavioral advertising purposes.
- Right to know and delete — you may request disclosure of data collected and request its deletion.
- Non-discrimination — we will not discriminate against you for exercising your privacy rights.
To exercise any of these rights, contact us at privacy@markup.fyi. We will respond within 30 days.
8. Age Restriction
Markup.fyi is intended for users aged 18 and older. This age requirement is mandated by the Google Gemini API Terms of Service.
If we discover that a user under 18 has created an account, we will promptly delete the account and all associated data. If you believe a minor is using our service, please contact us at privacy@markup.fyi.
9. Changes to This Policy
- Material changes — we will notify you via email and display a prominent banner in the application for at least 14 days before the changes take effect.
- Minor changes — we will update the "Last updated" date at the top of this page.
Continued use of Markup.fyi after changes take effect constitutes acceptance of the revised policy.
10. Contact
For privacy-related questions or requests, contact us at privacy@markup.fyi. We aim to respond within 5 business days.