Werte für App Store Connect → App Privacy. Apple zeigt diese Antworten auf der App-Produktseite. Müssen mit PRIVACY_POLICY.md und PrivacyInfo.xcprivacy übereinstimmen. (Apple-Kategoriennamen sind englische Fixbegriffe aus App Store Connect.)
Frage 1: „Do you or your third-party partners collect data from this app?"
Antwort: Yes — denn unser Cloudflare-Worker erhält IP + verkleinertes Foto, und unser einziger Drittanbieter (Google, Gemini-Detection) erhält das verkleinerte Foto. Auch wenn niemand etwas speichert, gilt das nach Apples Definition als „Collected".
Begründung: Apple definiert „Collected" als „transmitted off the device in a way that allows you and/or your third-party partners to access it for a period longer than necessary to service the transmitted request in real time." Cloudflare-Logs (7 Tage) erfüllen das.
Frage 2: Data Types
Für jeden gesammelten Datentyp die folgenden Sub-Fragen beantworten:
- Used to Track you? — bei allen Datentypen No (kein Cross-App-Tracking, kein ATT).
- Linked to user? — No (kein Account, keine User-ID).
- Purpose — siehe Tabelle.
Data linked to a user identifier — keine Einträge.
Data NOT linked to the user (alles bei uns)
| Datentyp (Apple-Kategorie) | Erfasst? | Zweck | Begründung |
|---|---|---|---|
| Contact Info → Email Address | Nein | – | Wir haben keinen E-Mail-Erhebungs-Flow |
| Health & Fitness | Nein | – | – |
| Financial Info → Payment Info | Nein | – | Apple verarbeitet Zahlungen |
| Location → Precise / Coarse | Nein | – | Keine Standortabfrage |
| Sensitive Info | Nein | – | – |
| Contacts | Nein | – | – |
| User Content → Photos or Videos | Ja | App Functionality | Verkleinertes Foto geht an Google zur Handschrift-Erkennung |
| User Content → Customer Support | Ja, falls genutzt | App Functionality | E-Mail an Support, optional |
| User Content → Other User Content | Nein | – | Keine Texteingabe in dieser App |
| Browsing History | Nein | – | – |
| Search History | Nein | – | – |
| Identifiers → User ID | Nein | – | Kein Account |
| Identifiers → Device ID | Nein | – | Kein IDFA, keine Werbe-ID |
| Purchases → Purchase History | Ja | App Functionality | StoreKit-JWS wird an unseren Worker geschickt |
| Usage Data → Product Interaction | Nein | – | Keine Analytics-SDKs |
| Usage Data → Advertising Data | Nein | – | Keine Werbung |
| Usage Data → Other Usage Data | Nein | – | – |
| Diagnostics → Crash Data | Nein¹ | – | Nur on-device über Apple Console |
| Diagnostics → Performance Data | Nein¹ | – | Keine Performance-Telemetrie |
| Diagnostics → Other Diagnostic Data | Ja, optional | App Functionality | Cloudflare-Worker loggt HTTP-Status + IP für 7 Tage |
| Other Data | Nein | – | – |
¹ Falls in Zukunft TestFlight-Crash-Reports aktiviert werden, „Crash Data → App Functionality" auf Ja setzen.
Frage 3: Tracking (ATT)
Antwort: No — die App führt kein Tracking durch und zeigt keinen ATT-Prompt. Daher entfällt der ganze Tracking-Abschnitt im Privacy Label.
Übersetzte Antworten als ASCII-Tabelle
[Data Used to Track You] — None
[Data Linked to You] — None
[Data Not Linked to You]
├── Photos or Videos [App Functionality]
├── Purchases / Purchase History [App Functionality]
├── Customer Support [App Functionality]
└── Other Diagnostic Data [App Functionality]
Konsistenz-Check (vor dem Submit prüfen)
- ☐ Privacy Manifest (
PrivacyInfo.xcprivacy) listet keine getrackten Domains. - ☐ Required-Reason-APIs im Manifest sind ausgefüllt.
- ☐ Privacy Policy nennt Google und Cloudflare namentlich (OpenAI / Anthropic / OpenRouter ausdrücklich nicht — werden im Cleaner-Build nicht aufgerufen).
- ☐ Keine Analytics-SDKs eingebunden.
- ☐
NSUserTrackingUsageDescriptionist nicht im Info.plist.
Weitere Worksheet Cleaner-Dokumente
Note: The German version of this document is legally binding. This translation is provided for convenience only.
Values for App Store Connect → App Privacy. Apple shows these answers on the app product page. They must match PRIVACY_POLICY.md and PrivacyInfo.xcprivacy. (Apple category names are fixed English terms from App Store Connect.)
Question 1: "Do you or your third-party partners collect data from this app?"
Answer: Yes — because our Cloudflare Worker receives IP + downscaled photo, and our only third-party provider (Google, Gemini detection) receives the downscaled photo. Even though no one stores anything, this counts as "Collected" under Apple's definition.
Rationale: Apple defines "Collected" as "transmitted off the device in a way that allows you and/or your third-party partners to access it for a period longer than necessary to service the transmitted request in real time." Cloudflare logs (7 days) meet this.
Question 2: Data Types
For each collected data type, answer the following sub-questions:
- Used to Track you? — for all data types No (no cross-app tracking, no ATT).
- Linked to user? — No (no account, no user ID).
- Purpose — see table.
Data linked to a user identifier — no entries.
Data NOT linked to the user (everything for us)
| Data type (Apple category) | Collected? | Purpose | Rationale |
|---|---|---|---|
| Contact Info → Email Address | No | – | We have no email collection flow |
| Health & Fitness | No | – | – |
| Financial Info → Payment Info | No | – | Apple processes payments |
| Location → Precise / Coarse | No | – | No location request |
| Sensitive Info | No | – | – |
| Contacts | No | – | – |
| User Content → Photos or Videos | Yes | App Functionality | Downscaled photo goes to Google for handwriting detection |
| User Content → Customer Support | Yes, if used | App Functionality | Email to support, optional |
| User Content → Other User Content | No | – | No text input in this app |
| Browsing History | No | – | – |
| Search History | No | – | – |
| Identifiers → User ID | No | – | No account |
| Identifiers → Device ID | No | – | No IDFA, no advertising ID |
| Purchases → Purchase History | Yes | App Functionality | StoreKit JWS is sent to our Worker |
| Usage Data → Product Interaction | No | – | No analytics SDKs |
| Usage Data → Advertising Data | No | – | No advertising |
| Usage Data → Other Usage Data | No | – | – |
| Diagnostics → Crash Data | No¹ | – | On-device only via Apple Console |
| Diagnostics → Performance Data | No¹ | – | No performance telemetry |
| Diagnostics → Other Diagnostic Data | Yes, optional | App Functionality | Cloudflare Worker logs HTTP status + IP for 7 days |
| Other Data | No | – | – |
¹ If TestFlight crash reports are enabled in the future, set "Crash Data → App Functionality" to Yes.
Question 3: Tracking (ATT)
Answer: No — the app does no tracking and shows no ATT prompt. The entire tracking section of the privacy label is therefore omitted.
Translated answers as an ASCII table
[Data Used to Track You] — None
[Data Linked to You] — None
[Data Not Linked to You]
├── Photos or Videos [App Functionality]
├── Purchases / Purchase History [App Functionality]
├── Customer Support [App Functionality]
└── Other Diagnostic Data [App Functionality]
Consistency check (verify before submit)
- ☐ Privacy Manifest (
PrivacyInfo.xcprivacy) lists no tracked domains. - ☐ Required-reason APIs in the manifest are filled in.
- ☐ Privacy policy names Google and Cloudflare by name (OpenAI / Anthropic / OpenRouter explicitly not — they are not called in the Cleaner build).
- ☐ No analytics SDKs included.
- ☐
NSUserTrackingUsageDescriptionis not in Info.plist.
More Worksheet Cleaner documents
Nota: La versión alemana de este documento es la jurídicamente vinculante. Esta traducción se ofrece solo por comodidad.
Valores para App Store Connect → App Privacy. Apple muestra estas respuestas en la página de producto de la app. Deben coincidir con PRIVACY_POLICY.md y PrivacyInfo.xcprivacy. (Los nombres de categoría de Apple son términos fijos en inglés de App Store Connect.)
Pregunta 1: «Do you or your third-party partners collect data from this app?»
Respuesta: Yes — porque nuestro Cloudflare Worker recibe IP + foto reducida, y nuestro único proveedor externo (Google, detección Gemini) recibe la foto reducida. Aunque nadie almacena nada, esto cuenta como «Collected» según la definición de Apple.
Justificación: Apple define «Collected» como «transmitted off the device in a way that allows you and/or your third-party partners to access it for a period longer than necessary to service the transmitted request in real time.» Los registros de Cloudflare (7 días) lo cumplen.
Pregunta 2: Data Types
Para cada tipo de dato recopilado, responde las siguientes subpreguntas:
- Used to Track you? — para todos los tipos de datos No (sin seguimiento entre apps, sin ATT).
- Linked to user? — No (sin cuenta, sin ID de usuario).
- Purpose — véase la tabla.
Datos vinculados a un identificador de usuario — sin entradas.
Datos NO vinculados al usuario (todo lo nuestro)
| Tipo de dato (categoría de Apple) | ¿Recopilado? | Finalidad | Justificación |
|---|---|---|---|
| Contact Info → Email Address | No | – | No tenemos flujo de recopilación de correo |
| Health & Fitness | No | – | – |
| Financial Info → Payment Info | No | – | Apple procesa los pagos |
| Location → Precise / Coarse | No | – | Sin solicitud de ubicación |
| Sensitive Info | No | – | – |
| Contacts | No | – | – |
| User Content → Photos or Videos | Sí | App Functionality | La foto reducida va a Google para la detección de escritura |
| User Content → Customer Support | Sí, si se usa | App Functionality | Correo al soporte, opcional |
| User Content → Other User Content | No | – | Sin entrada de texto en esta app |
| Browsing History | No | – | – |
| Search History | No | – | – |
| Identifiers → User ID | No | – | Sin cuenta |
| Identifiers → Device ID | No | – | Sin IDFA, sin ID publicitario |
| Purchases → Purchase History | Sí | App Functionality | El JWS de StoreKit se envía a nuestro Worker |
| Usage Data → Product Interaction | No | – | Sin SDKs de analítica |
| Usage Data → Advertising Data | No | – | Sin publicidad |
| Usage Data → Other Usage Data | No | – | – |
| Diagnostics → Crash Data | No¹ | – | Solo en el dispositivo vía Apple Console |
| Diagnostics → Performance Data | No¹ | – | Sin telemetría de rendimiento |
| Diagnostics → Other Diagnostic Data | Sí, opcional | App Functionality | El Cloudflare Worker registra estado HTTP + IP durante 7 días |
| Other Data | No | – | – |
¹ Si en el futuro se activan los informes de fallos de TestFlight, poner «Crash Data → App Functionality» en Sí.
Pregunta 3: Tracking (ATT)
Respuesta: No — la app no realiza seguimiento y no muestra ningún aviso ATT. Por ello, toda la sección de seguimiento de la etiqueta de privacidad se omite.
Respuestas traducidas como tabla ASCII
[Data Used to Track You] — None
[Data Linked to You] — None
[Data Not Linked to You]
├── Photos or Videos [App Functionality]
├── Purchases / Purchase History [App Functionality]
├── Customer Support [App Functionality]
└── Other Diagnostic Data [App Functionality]
Comprobación de coherencia (verificar antes de enviar)
- ☐ El Privacy Manifest (
PrivacyInfo.xcprivacy) no lista dominios rastreados. - ☐ Las Required-reason APIs del manifiesto están rellenadas.
- ☐ La política de privacidad nombra a Google y Cloudflare por su nombre (OpenAI / Anthropic / OpenRouter expresamente no — no se invocan en la versión Cleaner).
- ☐ No hay SDKs de analítica incluidos.
- ☐
NSUserTrackingUsageDescriptionno está en Info.plist.
Más documentos de Worksheet Cleaner
Remarque : la version allemande de ce document fait foi sur le plan juridique. Cette traduction est fournie à titre indicatif uniquement.
Valeurs pour App Store Connect → App Privacy. Apple affiche ces réponses sur la page produit de l'app. Elles doivent correspondre à PRIVACY_POLICY.md et PrivacyInfo.xcprivacy. (Les noms de catégorie Apple sont des termes anglais fixes d'App Store Connect.)
Question 1 : « Do you or your third-party partners collect data from this app? »
Réponse : Yes — car notre Cloudflare Worker reçoit l'IP + la photo réduite, et notre unique fournisseur tiers (Google, détection Gemini) reçoit la photo réduite. Même si personne ne stocke quoi que ce soit, cela compte comme « Collected » selon la définition d'Apple.
Justification : Apple définit « Collected » comme « transmitted off the device in a way that allows you and/or your third-party partners to access it for a period longer than necessary to service the transmitted request in real time. » Les journaux Cloudflare (7 jours) remplissent ce critère.
Question 2 : Data Types
Pour chaque type de donnée collecté, réponds aux sous-questions suivantes :
- Used to Track you? — pour tous les types de données No (pas de suivi entre apps, pas d'ATT).
- Linked to user? — No (pas de compte, pas d'identifiant utilisateur).
- Purpose — voir le tableau.
Données liées à un identifiant utilisateur — aucune entrée.
Données NON liées à l'utilisateur (tout chez nous)
| Type de donnée (catégorie Apple) | Collecté ? | Finalité | Justification |
|---|---|---|---|
| Contact Info → Email Address | Non | – | Nous n'avons pas de flux de collecte d'e-mail |
| Health & Fitness | Non | – | – |
| Financial Info → Payment Info | Non | – | Apple traite les paiements |
| Location → Precise / Coarse | Non | – | Aucune demande de localisation |
| Sensitive Info | Non | – | – |
| Contacts | Non | – | – |
| User Content → Photos or Videos | Oui | App Functionality | La photo réduite va à Google pour la détection d'écriture |
| User Content → Customer Support | Oui, si utilisé | App Functionality | E-mail au support, facultatif |
| User Content → Other User Content | Non | – | Pas de saisie de texte dans cette app |
| Browsing History | Non | – | – |
| Search History | Non | – | – |
| Identifiers → User ID | Non | – | Pas de compte |
| Identifiers → Device ID | Non | – | Pas d'IDFA, pas d'identifiant publicitaire |
| Purchases → Purchase History | Oui | App Functionality | Le JWS StoreKit est envoyé à notre Worker |
| Usage Data → Product Interaction | Non | – | Pas de SDK d'analytics |
| Usage Data → Advertising Data | Non | – | Pas de publicité |
| Usage Data → Other Usage Data | Non | – | – |
| Diagnostics → Crash Data | Non¹ | – | Sur l'appareil uniquement via Apple Console |
| Diagnostics → Performance Data | Non¹ | – | Pas de télémétrie de performance |
| Diagnostics → Other Diagnostic Data | Oui, facultatif | App Functionality | Le Cloudflare Worker journalise le statut HTTP + IP pendant 7 jours |
| Other Data | Non | – | – |
¹ Si les rapports de plantage TestFlight sont activés à l'avenir, mettre « Crash Data → App Functionality » sur Oui.
Question 3 : Tracking (ATT)
Réponse : No — l'app ne fait aucun suivi et n'affiche aucun prompt ATT. Toute la section de suivi du label de confidentialité est donc omise.
Réponses traduites en tableau ASCII
[Data Used to Track You] — None
[Data Linked to You] — None
[Data Not Linked to You]
├── Photos or Videos [App Functionality]
├── Purchases / Purchase History [App Functionality]
├── Customer Support [App Functionality]
└── Other Diagnostic Data [App Functionality]
Vérification de cohérence (à contrôler avant l'envoi)
- ☐ Le Privacy Manifest (
PrivacyInfo.xcprivacy) ne liste aucun domaine suivi. - ☐ Les Required-reason APIs du manifeste sont remplies.
- ☐ La politique de confidentialité nomme Google et Cloudflare nommément (OpenAI / Anthropic / OpenRouter expressément non — ils ne sont pas appelés dans la version Cleaner).
- ☐ Aucun SDK d'analytics inclus.
- ☐
NSUserTrackingUsageDescriptionn'est pas dans Info.plist.
Autres documents Worksheet Cleaner
Nota: la versione tedesca di questo documento è quella giuridicamente vincolante. Questa traduzione è fornita solo per comodità.
Valori per App Store Connect → App Privacy. Apple mostra queste risposte nella pagina prodotto dell'app. Devono coincidere con PRIVACY_POLICY.md e PrivacyInfo.xcprivacy. (I nomi delle categorie Apple sono termini fissi in inglese di App Store Connect.)
Domanda 1: «Do you or your third-party partners collect data from this app?»
Risposta: Yes — perché il nostro Cloudflare Worker riceve IP + foto ridotta, e il nostro unico fornitore terzo (Google, rilevamento Gemini) riceve la foto ridotta. Anche se nessuno memorizza nulla, questo conta come «Collected» secondo la definizione di Apple.
Motivazione: Apple definisce «Collected» come «transmitted off the device in a way that allows you and/or your third-party partners to access it for a period longer than necessary to service the transmitted request in real time.» I log di Cloudflare (7 giorni) lo soddisfano.
Domanda 2: Data Types
Per ogni tipo di dato raccolto, rispondi alle seguenti sotto-domande:
- Used to Track you? — per tutti i tipi di dati No (nessun tracciamento tra app, nessun ATT).
- Linked to user? — No (nessun account, nessun ID utente).
- Purpose — vedi tabella.
Dati collegati a un identificatore utente — nessuna voce.
Dati NON collegati all'utente (tutto da noi)
| Tipo di dato (categoria Apple) | Raccolto? | Finalità | Motivazione |
|---|---|---|---|
| Contact Info → Email Address | No | – | Non abbiamo alcun flusso di raccolta e-mail |
| Health & Fitness | No | – | – |
| Financial Info → Payment Info | No | – | Apple elabora i pagamenti |
| Location → Precise / Coarse | No | – | Nessuna richiesta di posizione |
| Sensitive Info | No | – | – |
| Contacts | No | – | – |
| User Content → Photos or Videos | Sì | App Functionality | La foto ridotta va a Google per il rilevamento della scrittura |
| User Content → Customer Support | Sì, se usato | App Functionality | E-mail al supporto, facoltativo |
| User Content → Other User Content | No | – | Nessun inserimento di testo in questa app |
| Browsing History | No | – | – |
| Search History | No | – | – |
| Identifiers → User ID | No | – | Nessun account |
| Identifiers → Device ID | No | – | Nessun IDFA, nessun ID pubblicitario |
| Purchases → Purchase History | Sì | App Functionality | Il JWS di StoreKit viene inviato al nostro Worker |
| Usage Data → Product Interaction | No | – | Nessun SDK di analisi |
| Usage Data → Advertising Data | No | – | Nessuna pubblicità |
| Usage Data → Other Usage Data | No | – | – |
| Diagnostics → Crash Data | No¹ | – | Solo sul dispositivo via Apple Console |
| Diagnostics → Performance Data | No¹ | – | Nessuna telemetria di prestazioni |
| Diagnostics → Other Diagnostic Data | Sì, facoltativo | App Functionality | Il Cloudflare Worker registra stato HTTP + IP per 7 giorni |
| Other Data | No | – | – |
¹ Se in futuro vengono attivati i report di crash di TestFlight, impostare «Crash Data → App Functionality» su Sì.
Domanda 3: Tracking (ATT)
Risposta: No — l'app non effettua tracciamento e non mostra alcun prompt ATT. Pertanto l'intera sezione di tracciamento dell'etichetta privacy viene omessa.
Risposte tradotte come tabella ASCII
[Data Used to Track You] — None
[Data Linked to You] — None
[Data Not Linked to You]
├── Photos or Videos [App Functionality]
├── Purchases / Purchase History [App Functionality]
├── Customer Support [App Functionality]
└── Other Diagnostic Data [App Functionality]
Controllo di coerenza (verificare prima dell'invio)
- ☐ Il Privacy Manifest (
PrivacyInfo.xcprivacy) non elenca domini tracciati. - ☐ Le Required-reason API nel manifest sono compilate.
- ☐ L'informativa sulla privacy nomina Google e Cloudflare per nome (OpenAI / Anthropic / OpenRouter espressamente no — non vengono chiamati nella build Cleaner).
- ☐ Nessun SDK di analisi incluso.
- ☐
NSUserTrackingUsageDescriptionnon è in Info.plist.