Privacy Policy
App: Portia
Last updated: 1 November 2026
1. Who we are
Portia (the "App") is a mobile application that helps people practise spoken and written English. The App is provided by Shatrudra Pratap Singh ("we", "us", "our"), an individual (not yet registered as a company), of 163, Brahampuri, near Arora Quarter, Muzaffarnagar, Uttar Pradesh 251001.
Contact for privacy questions: dharmotech90@gmail.com
Grievance / data protection contact: Shatrudra Pratap Singh, dharmotech90@gmail.com
This policy explains what personal information the App and its servers handle, why, who else receives it, how long we keep it, and what choices you have.
2. Information we collect
2.1 Sign-in information
You sign in only with Google Sign-In (Android and iOS) or Sign in with Apple (iOS). The App does not use passwords or phone-number one-time codes, and we do not ask for or store your phone number.
When you sign in we receive from Google or Apple a signed identity token, which our server verifies. From it we store:
- your name (Google supplies it; Apple supplies it only the first time you sign in, and the App passes it to us);
- your email address;
- your provider account identifier (Google or Apple user ID), which we use to recognise you when you come back;
- for Apple only, a refresh token, kept solely so that we can disconnect the App from your Apple ID when you delete your account.
Apple private relay email. Apple lets you hide your real email address. If you choose "Hide My Email", Apple gives us a private relay address (it ends in privaterelay.appleid.com) that forwards to your real email. We store and use that relay address as your email. In some cases Apple does not give us an email at all; then we store a placeholder address that cannot receive mail and is not shown in the App.
We do not receive your Google or Apple password.
2.2 Your learning profile and activity
To run the coaching features we store the following against your account:
- Profile settings: your goal, target level, minutes per day, plan length, and your phone's time zone name (for example "Asia/Kolkata"), used to work out your local day for streaks.
- Assessments: the questions served, your answers, section scores, estimated level and any writing feedback.
- Learning plans: your plan, daily tasks and which tasks you completed.
- Conversations: the messages you type or speak in practice conversations (your original text is kept), the coach's replies, grammar feedback and end-of-session summaries.
- Mistakes and practice: the mistakes found in your messages (your sentence, the correction and the explanation), your practice attempts, the daily practice sets and a one-way hash (not the text) of each practice answer.
- Usage records of AI features: the type of feature used, whether it succeeded and how long it took. These records contain no message text.
2.3 Speaking recordings and reports
If you use the speaking modes (script, free speaking or topic), and only after you give consent on the consent screen, the App records video or audio of your practice (up to 3 minutes) and uploads it to our server. We store with each recording its type, length, size, the time you consented, and the context you supplied (for example the topic or script request). We then create a report with scores, the recognised text of what you said, speech measurements (such as pace, pauses and filler words), grammar and word-use feedback, and, when posture analysis is on, approximate posture and hand-movement numbers.
Posture analysis is an estimate. It does not measure eye contact, emotion or confidence.
2.4 Device permissions
- Microphone: to record your spoken answers and for speech recognition.
- Camera: only for speaking recordings with video, and for the optional on-phone camera practice.
- Speech recognition: to turn your spoken answer into text. On many Android phones this is provided by Google's speech service, which may send audio to Google over the internet. Whether it works fully on the device depends on your phone model, language pack and settings, and we cannot tell which applies. We do not receive this audio from the recogniser; the App receives only the text.
- Notifications: to show practice reminders. Reminders you set are scheduled on your phone by the operating system.
You can withdraw any permission in your phone's settings. The matching features then stop working, but the rest of the App still works.
2.5 Information stored on your phone
The App keeps a sign-in token (valid for 24 hours) in your phone's secure storage and some preferences (for example your chosen coach voice and your consent choices) in local storage. Temporary audio files are deleted after use. This data stays on your phone and is cleared when you sign out or delete your account.
2.6 Notifications and device identifiers
The App includes Firebase Cloud Messaging. When you allow notifications, the App obtains a push token (a device identifier) from Firebase Cloud Messaging and sends it to our server, where it is stored against your account so that notifications can be delivered to your device. You can stop this by turning off notifications in your phone settings.
2.7 Technical information
Our hosting providers and servers process technical data such as your IP address and request details when the App connects. Our code does not log recordings, transcripts or message text. Our hosting providers may keep standard server logs (such as IP addresses and request times) for a limited period under their own policies. We found no analytics or advertising SDK in the App. Analytics and advertising collection is switched off in the App's Firebase configuration.
3. How we use information
- to sign you in and keep your account secure;
- to provide the features: assessments, plans, practice, conversations, daily practice, progress and streaks, speaking feedback and reports;
- to generate AI feedback and coach replies (see section 4);
- to read coach sentences aloud when you use the Listen feature;
- to apply rate limits, prevent misuse and keep the service running;
- to respond to your requests and to comply with law.
We do not sell your personal information. We do not show advertising and do not share data for advertising.
4. Who else receives information
We use the following service providers. They receive only what is needed for the feature described. Information about them reflects the code at the time of writing.
- Google and Apple provide sign-in. They tell us who you are; we send them nothing except, on account deletion, a request to revoke the Apple grant.
- Hosting. The primary server is hosted on Render, which also stores speaking recordings on its disk. A backup server is hosted on Vercel and does not handle speaking recordings.
- Database. Account and learning data is kept in a PostgreSQL database hosted with an external provider.
- Hosted AI service and OpenAI. For the speaking modes, the audio track of your recording (the picture is not sent), the text of what you said and, for topic preparation, the topic name are sent to our hosted AI service, which forwards them to OpenAI for speech-to-text and for generating feedback. In live AI mode, the text of your practice messages is also sent for the coach's replies and grammar tips. We do not send your name, email or user ID with this data. The hosted AI service is operated by us. These companies' own privacy terms apply to what they process.
- Voice (text-to-speech), only if enabled. When you use Listen or the coach speaks, text written by the coach is sent to an online voice service. Depending on the voice you choose this is Microsoft's text-to-speech service (reached through its "Read Aloud" interface) or, for the voice labelled "More polished", a server at
chat.produktify.comoperated by us that uses a hosted voice model. Your own messages and your incorrect sentences are never sent to these services, and neither are your recordings. We do not store this audio. We have not been able to verify how these providers log or retain text. - Posture analysis is done on our own server with an open-source model (MediaPipe). Still frames cut from your video are analysed in a temporary folder and deleted straight afterwards; only summary numbers are stored. Frames are not sent to any other company.
- Firebase (Google). The App includes Firebase for push notifications. See 2.6.
- Legal and safety. We may disclose information if required by law, court order or a lawful request, or to protect rights, safety or the service.
5. Where information is processed
Our servers and providers may be located in India or other countries. OpenAI, Google, Apple, Microsoft, Render and Vercel may process data outside your country. By using the App you understand that your information may be transferred to and processed in countries whose data-protection laws differ from those of your country.
6. How long we keep information
- Account, profile, plans, conversations, mistakes and practice data: until you delete your account.
- Speaking recording files (video/audio): deleted from our server automatically after 7 days. The purge job runs about every six hours, so deletion may take slightly longer than seven days. You can also delete a recording at any time.
- Speaking reports: kept until you delete the recording or your account.
- Frames used for posture analysis: deleted right after the analysis.
- Text sent to the coach voice service: not stored by us.
- Sign-in token on your phone: valid for 24 hours.
- Server logs and backups kept by our hosting and database providers: retained for the periods set by those providers. Data deleted from the live database may remain in provider backups for a limited time.
7. Deleting your account and data
You can delete your account inside the App: Account > Delete my account, then confirm. When you do, we:
- delete your stored recording files;
- for Apple sign-in, ask Apple to revoke the App's access to your Apple ID (this step is skipped if the revoke call cannot be made, and we log the failure);
- delete your account record, which removes your profile, learning plans, assessments, conversations, mistakes, practice history, speaking recordings and reports from our live database.
The App then signs you out and clears its local data. Deletion cannot be undone.
If a recording file cannot be removed at that moment, it is cleaned up by the automatic 7-day purge. Copies held by outside providers under their own terms (see section 4) and provider backups are outside our direct control.
If you cannot use the App (for example you uninstalled it), you can request deletion at https://portia-legal.vercel.app/delete-account or by email to dharmotech90@gmail.com from the address linked to your account. We may ask you to confirm it is you.
You can also delete an individual speaking recording and its report from the report screen without deleting your account.
8. Security
We use measures such as encrypted connections (HTTPS), verification of Google and Apple tokens on our server, a signed short-lived sign-in token, per-user access checks on stored data, rate limiting, private storage of recordings with no public links, and not logging recordings, transcripts or message text. Secrets are kept in server environment variables and not in the App.
No system is completely secure, and we cannot guarantee the security of your information or that deletion will be complete in every circumstance.
9. Your choices and rights
You can:
- sign out, or delete your account in the App (section 7);
- delete individual speaking recordings and reports in the App;
- say no on the consent screen (no recording is made or uploaded);
- turn off microphone, camera, speech recognition or notification permissions in your phone settings;
- change or turn off reminders in the App.
Depending on where you live, you may also have rights to access, correct or erase your personal information, to withdraw consent, to object to or restrict certain processing, to data portability, and to complain to a data-protection authority. The App does not currently offer a self-service download of your data or editing of your name or email; to use these rights, contact us at dharmotech90@gmail.com and we will respond within 30 days.
10. Children's privacy
The App is not directed at children under 13. We do not knowingly collect personal information from children under that age. The speaking-recording consent screen asks users under 18 to get a parent or guardian's permission first. If you believe a child has given us personal information, contact us and we will delete it.
11. Other people in your recordings
If other people appear or speak in your recording, their image and voice are recorded too. Please practise where that is acceptable and with their agreement.
12. Third-party links and services
Google, Apple, OpenAI, Microsoft, Render, Vercel and the other providers named above have their own privacy policies, which apply to what they handle. We are not responsible for their practices.
13. Changes to this policy
We may update this policy. We will post the new version at https://portia-legal.vercel.app/privacy-policy with a new "Last updated" date. If a change is material, for example a new type of data or a new outside provider, we will tell you in the App and ask for your consent again where required. In the speaking modes, a material change makes the App ask for your consent again.
14. Contact
Shatrudra Pratap Singh
163, Brahampuri, near Arora Quarter, Muzaffarnagar, Uttar Pradesh 251001
Email: dharmotech90@gmail.com
Grievance contact: Shatrudra Pratap Singh, dharmotech90@gmail.com