Transparency
Data Usage
Last updated: April 6, 2026
This page provides a complete, transparent breakdown of every type of data that PrettyPrint collects, uses, or transmits. This information is aligned with Apple's App Store privacy requirements (App Privacy "nutrition labels") and is intended to help you make an informed decision about using PrettyPrint.
At a Glance
Not Collected
- Your text content
- AI-generated outputs
- Keystrokes
- Clipboard data
- Location
- Contacts
- Photos or media
- Browsing history
- Health or fitness data
- Financial information
- Sensitive information
- Search history
Collected
- Email address (sign-in)
- Display name (sign-in)
- User ID (Firebase UID)
- Usage data (counts, not text)
- Product interaction (analytics)
- Subscription status
- Device type and OS version
- App version
Apple App Privacy Details
This is the information you see on PrettyPrint's App Store listing. Below is what we declare and a detailed explanation of each category.
Contact Info
Linked to You| Data Type | Collected | Purpose | Linked to Identity | Tracking |
|---|---|---|---|---|
| Email Address | Yes | App Functionality (account identification) | Yes | No |
| Name | Yes | App Functionality (display in UI) | Yes | No |
Your email and display name are provided by Google Sign-In or Apple Sign-In during authentication. If you use Sign in with Apple and choose to hide your email, we only see the private relay address. This data is stored in our database and used solely to identify your account.
Identifiers
Linked to You| Data Type | Collected | Purpose | Linked to Identity | Tracking |
|---|---|---|---|---|
| User ID (Firebase UID) | Yes | App Functionality, Analytics | Yes | No |
A unique identifier generated by Firebase Auth when you sign in. Used to associate your usage metrics, subscription status, and action preferences with your account. This ID is also shared with RevenueCat for subscription management.
Usage Data
Linked to You| Data Type | Collected | Purpose | Linked to Identity | Tracking |
|---|---|---|---|---|
| Product Interaction | Yes | Analytics, App Functionality | Yes | No |
We track which actions you use (by name, e.g., "Fix Grammar"), how many transforms you perform (daily/monthly/lifetime counts), and UI interactions (tab switches, button taps). This data is used for quota enforcement, understanding feature usage, and improving the app. We never record the text you type or the AI output.
Diagnostics
Not Linked to You| Data Type | Collected | Purpose | Linked to Identity | Tracking |
|---|---|---|---|---|
| Performance Data | Yes | App Functionality | No | No |
| Other Diagnostic Data | Yes | App Functionality | No | No |
Latency measurements (how long AI transforms take), error types (e.g., "network_error", "ai_unavailable"), and device/OS version. Used to monitor service health and fix bugs. Error logs never contain your text content.
Purchases
Linked to You| Data Type | Collected | Purpose | Linked to Identity | Tracking |
|---|---|---|---|---|
| Purchase History | Yes | App Functionality | Yes | No |
Your subscription plan (free, pro, pro_annual) and its expiration date are stored to enforce quota limits and enable Pro features. Payment processing is handled entirely by Apple's App Store and RevenueCat. We never see or store your credit card details, Apple ID password, or payment method.
User Content (Text You Transform)
This is the most important section. Your text content — the words you type and ask PrettyPrint to transform — is the most sensitive data the app handles. Here is exactly how it is treated:
You tap an action
The keyboard reads the text in your current text field. This text exists only in the app's memory.
Encrypted transmission
Your text is sent over HTTPS (TLS encryption) to our backend on Google Cloud Run. It is held in memory only — never written to disk, database, or log file.
AI processing
Our server forwards your text to Google's Gemini API. Google processes it and returns the result. Under our paid API agreement, Google does not use your text to train AI models. We have requested Zero Data Retention to minimize Google's abuse-monitoring retention.
Result returned
The transformed text is sent back to your device over HTTPS. Our server discards both the input and output from memory.
Nothing stored
After the response is delivered, no trace of your text exists on our servers. We store only the character count, word count, and token count as aggregate metrics.
What we log from a transform request
{ "event": "vertex_call_success", "uid": "abc123", "inputTokens": 45, "outputTokens": 38, "latencyMs": 1200, "platform": "keyboard"}
Notice: no text, no prompt, no output. Only numbers.
Third-Party Data Flow
| Service | Data Shared | Purpose | Text Content? |
|---|---|---|---|
| Google Gemini API | Text input, action prompt | AI text transformation | Transient only (not stored for training) |
| Firebase Auth | Email, name, UID | Authentication | No |
| Firebase Firestore | Usage metrics, user profile | Data storage | No |
| Firebase Analytics | App events, device info | Analytics | No |
| RevenueCat | Firebase UID, purchase receipts | Subscription management | No |
| Apple App Store | Purchase transactions | Payment processing | No |
Keyboard Extension Permissions
PrettyPrint's keyboard extension requests Full Access. iOS requires this for any keyboard that makes network requests. Here is a transparent breakdown:
| Permission | Why We Need It | What We Do | What We Don't Do |
|---|---|---|---|
| Network Access | Send text to AI API | HTTPS calls to our backend when you tap an action | No background requests, no tracking |
| Shared Container | Sync settings between app and keyboard | Read/write action preferences and auth tokens | No data leaves the device via this channel |
| Text Field Access | Read text for transformation | Read current text field content when you tap an action | No keystroke logging, no background reading |
Tracking
PrettyPrint does not track you. We do not use any data to track you across other companies' apps or websites. We do not use advertising identifiers (IDFA). We do not sell, share, or provide your data to data brokers, advertisers, or any third party for tracking purposes.
Account Deletion
You can request complete deletion of your account and all associated data by emailing privacy@prettyprint.ai. Upon deletion:
- Your user profile (email, name, UID) is permanently deleted from Firestore
- All usage metrics (daily, monthly, lifetime) are permanently deleted
- All custom actions you created are permanently deleted
- All analytics events associated with your UID are permanently deleted
- Your RevenueCat user record is removed
Since we never store your text content, there is nothing to delete in that regard — it was never saved in the first place.
Questions?
If you have any questions about how PrettyPrint handles your data, contact us at privacy@prettyprint.ai.
For our full legal privacy policy, see the Privacy Policy.