CodeSoupCafe Privacy Policy
- Effective date: November 4, 2026
- Developer: CodeSoupCafe LLC, United States
- Contact: codesoupcafe+policy@gmail.com
In this policy, "we" means CodeSoupCafe LLC. "You" means the person who uses one of our apps.
Summary
- Our apps keep your content on your phone in encrypted databases. We do not operate a server that receives your recordings, transcripts, chats, memory, or charts.
- Ads, analytics, and Android backup of app settings can send data with no request from you. See sections 2, 9, and 17.
- Other data leaves your phone only when you use a feature that needs another service, or when you export or share it.
- We do not sell your personal data.
Apps that this policy covers
| App | Platforms | What it does |
|---|---|---|
| FreeFriend | Android, iOS, and the FreeFriend Agent Gallery pages on codesoupcafe.com | A personal assistant that records, transcribes, and answers with AI on your phone |
| Surface Burn Calculator | Installed copies on Android and iOS. The app is no longer in the stores. | Helps clinicians estimate total body surface area burned and fluid needs |
Sections 1 to 8 apply to all our apps. Sections 9 to 18 apply to an app when it has that feature. This table shows which app has which feature.
| Feature | Section | FreeFriend | Surface Burn Calculator |
|---|---|---|---|
| Ads from Google AdMob in the free version | 2 | Yes | Yes |
| Ad consent messages and a privacy options row in settings | 2, 5 | Yes | No. Installed copies do not show them. |
| Purchases that remove ads | 2 | Remove Ads and Premium | Any purchase that your store account shows |
| Store purchases | 3 | Yes | Earlier purchases only. We no longer sell them. |
| Export of your data | 5 | All your data, from retention settings | One chart at a time |
| Analytics | 9 | No analytics tool | Firebase Analytics on Android |
| Feedback board | 10 | No | Yes |
| Recordings, chats, memory, and voice profiles | 12 | Yes | No |
| Features that use other services | 13 | Yes | No |
| Google account | 14 | Yes | No. Earlier sign-in has ended (section 18). |
| Health data from your phone | 15 | Yes | No |
| Agent Gallery | 16 | Yes | No |
| Clinical charts | 17 | No | Yes |
| Earlier accounts and server | 18 | No | Yes |
All apps
1. Security
Each app encrypts its database on your phone. The encryption key is kept in your phone's secure storage (Android Keystore or iOS Keychain). Connections to off-device services use HTTPS. An app that connects to our own servers also pins their certificates. No method is 100% secure.
2. Ads
The free version of each app shows ads from Google AdMob. AdMob can collect:
- the device advertising identifier (Android Advertising ID or Apple IDFA),
- device and app information, IP address, and approximate location from the IP address,
- information about ads that you see and tap.
AdMob does not get your app content. Our apps do not send recordings, transcripts, chats, contacts, health data, memory, burn charts, or patient details to AdMob. We do not use your content to target ads.
- iOS: an app with ad consent messages asks for your permission before it uses the IDFA for tracking. If you do not allow it, you see ads that are not personalized.
- EEA, UK, and Switzerland: an app with ad consent messages shows a consent message before it shows personalized ads.
- An app without these messages: use your device ad settings to control ads.
- Android: you can reset or delete your advertising ID in Settings > Privacy > Ads.
For more, see How Google uses information from apps that use its services.
The table at the top shows which purchases remove ads in each app.
3. Purchases
Purchases go through Google Play Billing or the Apple App Store. The store handles your payment. We get a purchase confirmation and a purchase token only. We never get your card details. Each store keeps purchase data under its own privacy policy.
4. Children
Our apps are not for anyone under 18. We do not knowingly collect data from children. If you think a child sent us data, email us and we will delete it.
5. Your rights
Most of your data is on your phone, so most requests are done in the app: you can view and delete it there. You can also export it. The table at the top shows what each app exports. For data that we hold (gallery data, export counts, or emails), you can ask us to access, correct, or delete it, or object to its use.
- EEA and UK (GDPR): we process gallery data to provide the service (contract) and process ads data with your consent. You can complain to your local data protection authority.
- California (CCPA/CPRA): we do not sell personal data. Personalized ads from AdMob can be "sharing" under California law. To opt out, use the privacy options in the app's settings, if the app has them. You can also use your device ad settings: on Android, Settings > Privacy > Ads; on iOS, Settings > Privacy & Security > Tracking.
- Virginia and other US states: you have the rights to access, correct, delete, and opt out of targeted ads. Email us to use them. If we refuse, you can appeal by email.
Send requests to codesoupcafe+policy@gmail.com. We answer within 30 days.
6. Retention and deletion
- Data on your phone stays until you delete it in the app, or until a retention setting that you choose removes it. If you uninstall the app, your phone deletes the app data.
- iOS Keychain: on iOS, Keychain items can stay after you uninstall the app. These items are database encryption keys. If the app has those features, they are also API keys, sign-in tokens, and your own voice profile. The encrypted databases are gone, so a database key cannot open any data. To remove your voice profile, delete it in the app before you uninstall (section 12).
- Archive: in an app with an Archive tab, archive only hides items. Delete them in the Archive tab to remove them.
- Exports stay wherever you sent them, under that app's or service's own policy.
- Data on off-device services stays under that service's own retention policy.
- Gallery data stays until you delete your gallery account (section 16).
- Earlier account data and synced charts on our server are deleted. Export purchase counts stay until you ask us to delete them (section 18).
- Emails to us stay as long as needed to answer you.
Our apps have no in-app user account today, so there is no in-app account to delete. To delete your data, delete it in the app or uninstall the app. Section 16 explains how to delete a gallery account.
7. Changes
We will update this page when an app's data use changes, and change the effective date. For a large change, the app will tell you. When we add an app, we add it to the tables at the top.
8. Contact
- CodeSoupCafe LLC
- PO Box 28412, Henrico, VA 23228, United States
- codesoupcafe+policy@gmail.com
Features
9. Analytics and crash reports
The table at the top shows which app includes an analytics tool.
- Firebase Analytics (Google): an app with this tool on Android can send a random app-instance ID, app version, phone model, OS version, approximate location from the IP address, and basic usage events such as app opens. The app does not send charts or patient details to it. The iOS app turns it off.
- Microsoft App Center: installed copies of an older app can include App Center analytics and crash reporting. Microsoft retired App Center on March 31, 2025, so we no longer receive these reports.
10. Feedback board
An app can have a Feedback link. It opens our feature-ideas board inside the app, at feedback.codesoupcafe.com. Frill (frill.co) hosts the board.
Anything that you post there goes to Frill under Frill's privacy policy. Frill can collect the sign-in details that you enter, such as name and email. It can also collect your ideas, votes, and comments, and it uses cookies.
11. Phone permissions
An app asks for a permission when a feature first needs it. Internet access needs no request. You can turn off any other permission in your phone settings. The feature that needs it then stops working. An app uses only the permissions next to its name.
| Permission | Used by | Why the app uses it |
|---|---|---|
| Internet | All apps | For ads and purchases, and for features that need another service |
| Microphone (also in the background, with a notification) | FreeFriend | To record when you start a recording, and for voice commands |
| Bluetooth and nearby devices | FreeFriend | To connect to your earpiece and supported vehicles |
| Speech recognition (iOS) | FreeFriend | For Live Dialog voice input |
| Location (only when in use) | FreeFriend | To answer questions about where you are, such as weather or nearby places |
| Contacts (read and create) | FreeFriend | To find a person when you ask to call, text, or email them, and to create a contact when you ask |
| Calendar (read) | FreeFriend | To answer questions about your schedule |
| Camera and photos | FreeFriend | To take or select an image for analysis |
| Photos (iOS, add only) | Surface Burn Calculator | To save an exported chart image to your photo library when you choose that option |
| Health Connect (Android) / Apple Health (iOS) | FreeFriend | To answer questions about your steps, sleep, heart rate, workouts, and weight when you ask |
| Face ID / fingerprint | FreeFriend | To unlock the app when app lock is on. Your phone checks your face or fingerprint. The app gets only a pass or fail result. |
| Notifications | FreeFriend | To show recording status and results |
An app reads contacts, location, calendar, and health data only for the request that you make. Each read asks for your approval, unless you chose "Always allow" for that tool. To undo "Always allow", open Advanced settings and tap Reset in the "Reset HIL Permissions" row.
12. Recordings, chats, memory, and voice profiles
An app with these features processes this data on your phone with on-device models. We do not receive this data.
| Data | Why the app uses it | Where it is kept |
|---|---|---|
| Audio from the earpiece or the phone microphone | To record conversations and voice commands that you start | Encrypted database on the phone |
| Transcripts, summaries, and agent results | To show, search, and act on what was said | Encrypted database on the phone |
| Chat history and memory | To answer your questions and remember context | Encrypted database on the phone |
| Participant voice samples and voice profiles | To label who spoke in a recording, only for people you enroll | Encrypted database on the phone |
| Photos and camera images that you select or take | To describe or analyze the image when you ask | On the phone |
| Earpiece and vehicle Bluetooth device data | To connect to and control your devices | On the phone |
| App settings, diagnostic logs, and battery and energy samples | To run the app and to help you find problems | On the phone |
Voice profiles. When you enroll a participant, the app makes a voice profile from voice samples. Some laws call this biometric data. The app makes a profile only after you enroll that person. The person must agree before you enroll them, and the person reads prompts aloud during enrollment. The profile stays on your phone. We never receive it.
To delete a voice profile:
- Your own profile: open Voice settings and tap Delete in the "Delete my voice" row. Your recordings stay.
- Another person's profile: open Voice settings, open "Consenting participants", and tap Revoke. Revoke deletes the profile and every recording, transcript, summary, and memory attributed to that person.
People near you. The earpiece can record other people. Many places require consent from every person before you record a conversation. You must obey the recording laws where you are.
13. Data that leaves your phone
Some features need another service. The data goes directly from your phone to that service. It does not go through us. Each service uses the data under its own privacy policy. Before personal data goes to an off-device service, the app tells you where it goes and asks you. Ads and purchases follow sections 2 and 3.
| Service | When the app uses it | Data sent |
|---|---|---|
| Hugging Face (huggingface.co), GitHub | When you download an on-device model | Download request, IP address |
| Your phone's speech service (Google on Android, Apple on iOS) | When you use Live Dialog | Your voice for that turn. The phone maker can process it on its servers. |
| External AI service that you set up (any OpenAI-compatible endpoint that you enter, with your own API key). The app has no built-in list of providers. | Only when you turn on the External API and send a message or image to it, or turn on external transcription | Your message, the context that the app adds, and images. External transcription sends recorded audio, which can include the voices of other people. The app checks an image with the on-device model first, and warns you before it sends a personal image. |
| Connected services (MCP servers) that you add: Notion, Canva, Stripe, Klaviyo, Granola, Shopify, or any other server address that you enter | Only when your message names that service and you approve the call | The request and the data that the tool needs |
| Tasker tasks that you choose (Android) | When chat or an agent runs one of your tasks | The text that goes to the task. Tasker is another app on your phone, and your task can send that text to any place. The app asks you when the text holds personal data, even after "Always allow". |
| Web search: Brave Search, DuckDuckGo, or a SearXNG server that you choose | When a search is necessary to answer you | Search words |
| Open-Meteo | When you ask about weather | Approximate location |
| OpenStreetMap Nominatim | When you ask about a place or address | Place text or coordinates |
| Wikipedia, arXiv | When you ask a question that needs them | Search words |
| Google (Gmail, Drive, and Tasks) | Only when you sign in with your Google account and ask to read or send email, create a document, or use your tasks | Your account name, email address, and photo, and the content needed for the request |
| Google AdMob | When the app shows an ad | See section 2 |
| Google Play Billing / Apple App Store | When you make a purchase | See section 3 |
| Links that you open (maps, music, shops, and similar) | When you tap a link | The link opens in that app or website |
Third-party AI
An app with AI models runs them on your phone by default. An off-device AI service gets your data only if you turn on the External API and send a request to it, or turn on external transcription. Before the app sends personal data to a third-party AI service, it shows you the service name and asks for your permission. In private chat, the app uses only the on-device model, and every off-device tool asks for permission on each call.
14. Google user data
FreeFriend uses Google sign-in on your phone. Each tool asks for its own scopes when you first use it:
| Scope | Why the app uses it |
|---|---|
userinfo.email, userinfo.profile |
To show which account is connected: name, email, and photo |
gmail.readonly, gmail.send |
To read or send the email that you ask for |
drive.file |
To create a document when you ask. It covers only files that the app creates. |
tasks |
To read and write your Google Tasks |
The app keeps the Google data that it receives on your phone. We do not receive it.
FreeFriend's use and transfer of information received from Google APIs to any other app will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
You can remove FreeFriend's access at any time at myaccount.google.com/permissions.
15. Health data from your phone
An app with this feature reads health data from Health Connect (Android) or Apple Health (iOS) only to answer your health questions. The app does not write health data. Health data is not used for ads, marketing, or data mining. It is not sold. It is not shared with third parties, except an AI service that you choose and approve for that request (section 13).
16. FreeFriend Agent Gallery on codesoupcafe.com
The Agent Gallery lets you share agents that you make. Our website runs on Squarespace. Forms on the site use Google reCAPTCHA. Zapier copies each form into our gallery database on MongoDB Atlas. The app itself does not connect to the database.
- Developer registration: your name, your email, the publisher name that you enter, your phone's public signing key, its fingerprint, and a signed proof. Your private key never leaves your phone.
- Agent upload: the agent ID, a signed proof, and the agent definition, name, description, and icon that you choose to publish. Do not put personal data in a published agent.
- Reviews: your name, your email, your rating, your comments, and the agent that you review.
- Reports: the text that you type in the report form, your email if you enter it, and the agent if you report one. The app does not send your chat or the model's reply.
- Account deletion requests: your email, or your phone's public key and a signed proof.
Delete your gallery account: in the app, open Agent settings and tap "Delete my developer account". Or use codesoupcafe.com/free-friend-delete-account. A request from the website needs you to confirm it by email.
When we process your request:
- We clear your name, email, key, and proofs from the gallery database.
- We keep the agents that you published. They stay listed as "by Anonymous", with no link to you, because copies on other phones keep working.
- A request from the app does not cover your reviews, because reviews do not carry your key. To delete your reviews, use the website form with the email that you typed in the review.
- The app removes its signing key and registration from your phone when you submit the request.
The website itself can use cookies. See The cookies Squarespace uses.
17. Clinical charts
Your charts stay on your phone in an encrypted database. We do not receive them. Charts leave your phone only when you export or share them.
| Data | Why the app uses it | Where it is kept |
|---|---|---|
| Burn chart drawings (the body areas that you mark) | To calculate total body surface area burned | Encrypted database on the phone |
| Patient details that you enter: age, sex, ethnicity, height, weight, body type | To pick the right chart and to calculate fluid needs | Encrypted database on the phone |
| Clinical details that you enter: fluids given, inhalation injury, full-thickness burn | To calculate and show fluid needs | Encrypted database on the phone |
| Chart title that you type, and created and updated times | To find your charts in the list | Encrypted database on the phone |
| Export and purchase state for each chart | To know which charts you have paid to export | Encrypted database on the phone |
| App settings and preferences | To run the app | On the phone |
Android backup. Android can back up the app's settings to your Google account as part of the phone's normal app backup. The backup rules include settings only, so the backup does not include your charts. You can turn off app backup in your phone settings.
Patient privacy. The app is a calculation tool. It does not ask for a patient's name, date of birth, record number, or photo, and it does not need them. The title field is free text. Do not type a patient's name or other identifier into it. If you do, that text stays on your phone and goes into any export that you make. You are responsible for following the privacy rules of your workplace when you use or share a chart.
Exporting and sharing. You can export a chart as a PDF, an image, or text. The app builds the file on your phone. Then it hands the file to the app that you pick in your phone's share sheet, or opens your email app with the file attached. The export goes wherever you send it. We do not receive it.
The app keeps the latest export files in its cache folder on your phone. The next export replaces them. Your phone can also clear that folder.
Some exports need a purchase (section 3). Export counts are kept as described in section 18.
18. Earlier accounts and server
Earlier, Surface Burn Calculator could upload charts to our server when you were signed in. We shut down that server. We deleted the accounts and charts that it held. Installed copies can still try to connect, but our server no longer receives data. We plan to remove this code in a later version.
The app offered an optional account for chart-export purchases, with Google, Microsoft, or Apple sign-in. Subscriptions needed Google or Apple sign-in. You do not need an account to use the app. Sign-in no longer works, because it needed that server.
| Data | Why | Where it is now |
|---|---|---|
| Account ID, email, first and last name, profile picture from your sign-in provider | To identify your account | Deleted from our server |
| Phone model, manufacturer, device type, and a device ID that the app generates | To tell your devices apart | Deleted from our server |
| Charts uploaded by chart sync | To sync charts between your devices | Deleted from our server |
| Count of chart exports purchased and used | To honor your export purchases on every device | Firebase Realtime Database (Google), keyed by your account ID |
Delete your remaining data. There is no in-app account option, because sign-in no longer works. Email codesoupcafe+policy@gmail.com to ask us about or delete your export counts. Deleting this data does not delete the charts on your phone.
Remove the app's access at your provider: myaccount.google.com/permissions, account.live.com/consent/Manage, or Settings > Apple ID > Sign in with Apple on your iPhone.