Last updated: October 8, 2026
Tina’s Programming Lab (“we,” “us,” or “our”) handles information in its language-learning app, PhotoDeLang (“the App”), as described below. This policy applies to the App. Information handled through our website is covered by the website’s privacy policy.
1. Information we handle
Account and authentication information
When you use Google sign-in, we handle your user ID, email address, and profile information provided through Firebase Authentication. Anonymous sign-in also creates a user ID and other information needed to provide the service. We do not receive your Google account password.
Photos and learning materials
We process the photos you select or take for learning-material generation, descriptions generated from those photos, your learning language, native language, and learning level. We also process generated conversations, vocabulary, example sentences, quizzes, and other learning materials to provide them to you.
Usage, tickets, and processing records
We handle user IDs, account creation times, ticket balances, records of ticket grants, usage and refunds, advertising reward transaction identifiers, request identifiers, processing status, and usage counts.
Device, advertising, analytics, and security information
Google services integrated into the App may collect and process IP addresses, device and app information, identifiers such as advertising IDs, app and advertising interactions, diagnostic information, and information used to verify app and device integrity. The information collected depends on your device settings, service settings, and the features you use.
2. How we use information
We use information to:
- Provide sign-in, identify users, and operate the service.
- Check photo safety, analyze photo content, and generate language-learning materials.
- Display and manage learning materials, learning history, and learning settings.
- Manage tickets, display advertisements, and grant advertising rewards.
- Prevent duplicate processing, misuse, excessive requests, and fraudulent advertising rewards.
- Analyze usage, investigate faults, and improve the service.
- Respond to inquiries and information deletion requests.
3. Photo and learning-material processing and storage
When you generate learning materials, your photo and learning settings are sent over an encrypted connection to our processing environment. Google Cloud Vision checks photo safety. Photos that pass the safety check are analyzed by Microsoft Azure AI Vision.
The generated photo description and your learning settings are sent to the OpenAI API to generate learning materials. Our current generation process does not send the photo itself to OpenAI. However, the description may contain information about the contents of the photo.
We do not save photos, photo descriptions, or generated learning-material content to databases we manage, such as Firestore, during the generation process. We do not write these contents to our application logs. We handle them temporarily in memory for processing and return the generated materials to your device.
Generated learning materials, learning history, learning settings, and copies of photos used for learning are stored on your device as needed for the App’s features. Device data is managed separately from our server data. The App disables Android’s standard automatic app-data backup. This does not delete or control original photos or copies created through device-manufacturer migration features or other means.
Our decision not to store learning-material content does not mean that external service providers never retain information. Their retention, security monitoring, and deletion practices depend on their terms, configurations, and data protection policies.
Do not use photos containing another person’s information without permission, identity documents, passwords, financial information, or other confidential information to generate learning materials.
4. External services
The App primarily uses the following services:
- Google / Firebase: sign-in; management of user information, tickets, and processing records; usage analytics; and misuse prevention.
- Google Cloud / Cloud Vision: server processing and photo safety checks.
- Google AdMob: advertising delivery and measurement, and advertising reward verification.
- Microsoft Azure AI Vision: photo analysis and description generation.
- OpenAI API: generation of language-learning materials from photo descriptions and learning settings.
For more information, see:
- Google Privacy Policy
- Privacy and Security in Firebase
- Google AdMob SDK data disclosure
- Microsoft Privacy Statement
- OpenAI Privacy Policy
- OpenAI API data handling
Depending on the service providers’ infrastructure, information may be processed outside Japan.
5. Advertising and analytics
The App displays advertisements provided by Google AdMob. Advertising services process device and identifier information and advertising interactions for delivery, measurement, and fraud prevention. For rewarded advertisements, the App’s user ID is used to verify rewards and credit the correct account.
The App also uses Google Analytics for Firebase to analyze app usage and device information.
You may be able to change advertising and personalization preferences through the settings provided by Android and your Google account.
6. Retention and deletion
Information we retain
We retain account and ticket information while your account remains in use and as needed to provide the service, until it is deleted through the account-deletion process described below.
For operational records stored in Firestore, we use the following retention deadlines:
- Account creation and ticket grant, usage, and refund logs: 90 days from creation.
- Advertising reward verification records: 90 days from creation.
- Learning-material processing records: 30 days from completion, failure, or an update marking an expired request as failed. Requests still pending may remain until they are resolved or the account is deleted.
- Service-wide daily generation counts: 30 days from their latest update. These records contain aggregate counts rather than individual user IDs.
These processing records do not contain photos, photo descriptions, or generated learning-material content. Firestore time-to-live (TTL) policies are enabled to automatically delete records after their expiresAt deadline. Deletion is not instantaneous and typically occurs within 24 hours after the deadline, although this timing is not guaranteed.
Deleting your account in the App
You can request deletion of your PhotoDeLang account and associated data using “Delete account” in the App’s Settings screen. If you use Google sign-in, you may be asked to verify your identity again using the same Google account. Deletion cannot be undone.
Deletion covers your PhotoDeLang authentication account, remaining tickets, and the associated user data, ticket history, learning-material processing records, and advertising reward verification records stored on our server. After server-side deletion, the App clears learning materials, learning history, learning settings, copies of photos used for learning, and app cache on the device where you performed the deletion.
This does not delete your Google account, original photos in your device’s photo library, data you have saved elsewhere, or data remaining on other devices.
We attempt server-side deletion when an account-deletion request is accepted, without waiting for the normal retention deadlines above. Deletion may not finish immediately if the connection is interrupted or processing fails. After a deletion request is accepted, use the App’s completion check or retry options. If only device-data cleanup fails, follow the App’s instructions to retry the cleanup.
Records kept to complete deletion
We retain your user ID, deletion request and completion status, processing times, and verification information to continue deletion, prevent duplicate processing, and confirm completion. These records do not contain photos, generated learning materials, or Google account passwords. Pending records are retained until deletion is completed; they do not have an automatic expiration deadline while pending. Once deletion is completed, we set the confirmation record’s expiration deadline to 24 hours after completion. Firestore TTL then deletes the record after that deadline, typically within a further 24 hours, although this timing is not guaranteed.
System operation and security logs, and advertising and analytics information independently collected by external services, are not necessarily all deleted at the same time as an in-app account deletion. Where records are needed for legal obligations or misuse prevention, we handle them only to the extent needed for those purposes. External providers’ retention periods and deletion methods depend on their terms, configurations, and data protection policies.
If you cannot use the App, and other information requests
You can also request deletion through the contact form below. State that you wish to delete your “PhotoDeLang account and data.” You may use the same contact point for requests to access or correct information or restrict its use. We respond in accordance with applicable law after verifying your identity.
We may request additional information needed to identify the relevant account. Do not send passwords, authentication tokens, or App Check tokens.
You can also clear local app data through Android’s app storage settings. Clearing local storage or uninstalling the App alone does not delete your account information on our server.
7. Security
We use measures including encrypted communications, authentication, access controls, and misuse prevention to help protect information against disclosure, alteration, and unauthorized access.
8. External links
The App contains links to external websites, including our website and Buy Me a Coffee. When you use an external website, its privacy policy and terms apply.
9. Changes to this policy
We may update this policy when the App’s features or information-handling practices change. We publish updates on this page. Where appropriate, we announce significant changes through the App or our website.
10. Contact
Operator: Tina’s Programming Lab
For inquiries about information handling, account and data deletion, or other privacy matters, use the form below and identify your inquiry as relating to PhotoDeLang.