1. Local records and online services
Bravio works without an account and without this website seeing anything you do. Activities, routines, checklists, focus sessions, Finance records, mood and energy check-ins, progress, preferences, and your Companion are stored locally on your phone. Your record contents leave the phone when you choose features such as cloud backup, hosted AI or support. Advertising and Firebase can also send the technical and interaction information described below; local-first storage does not mean the app never communicates with online services.
2. Manual backups
A local export in the current app asks you to create and confirm a separate backup password. The app encrypts the backup on your phone before sharing a .bravio file. Its contents can include your complete Bravio profile. Keep the file and password safe; Bravio does not retain this local-export password or provide password recovery. Compatible software with the correct password can decrypt the format; it is not restricted to Bravio.
Older exported JSON files remain readable and can still be imported. Encryption does not retroactively protect copies you saved outside the app. You choose where shared files are stored and must delete those copies yourself.
3. Optional account and cloud backup
You can create an account with an email address, password, and optional display name. Authentication and storage are provided by Supabase. Your account login password is submitted securely to Supabase Authentication over HTTPS. It is separate from your backup password; Bravio does not store it in your activity backups.
You can also choose Google sign-in. Google and Supabase process your Google account identifier, name, email address, profile photo URL when provided, and authentication tokens to sign you in. Bravio does not request Contacts or Drive access. Existing password accounts can explicitly link a Google identity after confirming their current Bravio password. Google manages Google credentials; this does not replace the separate backup encryption password. Bravio clears its native Google sign-in cache after attempts and on sign-out or account changes; clearing this cache does not revoke permission in your Google Account.
You can edit your display name and optionally choose a profile photo. Bravio converts the selected photo to a smaller JPEG and uploads it to private, account-scoped Supabase storage. The app downloads it using temporary signed links and may keep an account-bound copy in its private cache so it can display your photo offline. Cached photos are cleared when you sign out, switch accounts or remove the photo, and Android may also clear cached files. Your photo is not public and is not sent to advertisers or AI providers. You can replace or remove it in Profile. Profile photos are separate from activity-data backup snapshots.
You can also choose a built-in Bravio character instead of uploading a photo. With a cloud account, the character identifier is saved with your account profile in Supabase. The character image is bundled with Bravio; choosing it does not upload an image from your phone.
Cloud backup remains optional. In the current app, you must protect cloud backups with a separate backup password before uploading new snapshots. Automatic backup is a Profile setting you can enable or disable; manual uploads and restoring snapshots are also controlled from Profile. The app encrypts snapshot contents and their activity counts on your phone using an account-specific data key before uploading them to Supabase. The service stores ciphertext, the password-encrypted data key and derivation settings; Bravio does not upload your backup password or unwrapped data key. Metadata such as account references, backup dates, device labels, key identifiers and conflict flags remains accessible to the service. A keyed comparison value supports duplicate detection.
The unlocked cloud data key is retained in operating-system secure storage on your phone for automatic backups. Signing out, switching accounts, deleting the account or using local erase removes that saved key. On another phone, or after reinstalling or clearing storage, you must unlock cloud backups with the backup password. Changing the backup password re-encrypts the same data key and preserves cloud history; it does not change passwords on previously exported local files. Resetting your account login password cannot recover the backup password. If you lose the backup password and every usable unlocked device, the encrypted backups cannot be recovered.
Existing cloud history is encrypted on your phone when you set up protection and complete conversion. Conversion preserves older archived contents; it does not repair an incomplete or damaged historical backup or guarantee it can be restored. Older backups remain readable to authorized infrastructure until each snapshot has been converted; earlier provider disaster-recovery copies may persist according to Supabase retention. The app pauses new uploads until conversion finishes and rejects older clients' readable uploads after encryption setup. Profile photos, authentication information, hosted AI requests and reports, and the live local database are separate from this backup encryption. Traffic is also protected with HTTPS/TLS and backups remain account-scoped by access policies.
4. Bug reports and support
Sending a bug report is something you do deliberately. An in-app report contains what you type. If you include diagnostics, the report may also contain app/platform/OS versions, technical startup or storage-failure details, and Firebase reporting status, including whether Analytics is enabled and whether native reporting calls failed. Bravio does not automatically attach your activities, Finance records, checklists, or backups. If you leave a reply email, it is used to answer you. To limit automated report spam, a one-way hash derived from limited request metadata may be retained; it cannot be reversed into your address.
If you use the website support form, Bravio receives the email address and information you choose to submit. Vercel processes the web request and Resend delivers the message so the team can review it and reply. Do not submit passwords, authentication links, financial records, backup files, or information that is not needed to understand your request.
5. Notifications, device locking and Read Aloud
Reminder and alarm permissions are used only for reminders you create. The optional Finance lock uses Android's system authentication, such as fingerprint, face, or device PIN. Bravio does not receive, read, or store your biometric data or device PIN.
Optional Read Aloud uses an installed offline voice on your phone to read task or routine text when you request it. Bravio does not send that text to an online speech service for this feature. If a suitable offline voice is unavailable, Read Aloud is unavailable rather than falling back to a network voice.
6. Device permissions and profile content
Bravio does not request broad access to your photo or video library. If you choose a profile photo, the system picker grants access to the selected image. Bravio does not request access to your contacts, browsing history, call logs, SMS, payment-card or bank credentials, biometric templates, or precise GPS location. The optional Quick Capture voice feature requests microphone permission and records only when you start a recording. If you submit it to hosted AI, the recording is transmitted for transcription as described below.
Bravio does not send your activities, Finance records, checklists, mood entries, backups, or voice recordings to advertisers or attach them to usage Analytics events. Firebase and Google Mobile Ads process the technical and interaction information described in this policy.
7. Usage analytics
In builds with Firebase enabled, usage Analytics is enabled by default on a new installation. You can turn it off or on through You → Privacy choices. This preference is saved on this phone and is separate from Google's advertising privacy choices. Turning Analytics off does not disable local features or Crashlytics and does not erase previously collected records.
While enabled, Firebase Analytics collects basic app-use and engagement information, automatically generated events and user properties, per-installation identifiers, and technical details such as app version, device characteristics, operating-system version, language, and general region. Bravio also reports limited product events such as onboarding completion, AI review results, quota limits, backup or restore results, account-deletion results, bug-report submission, notification-permission responses, and cloud-account results. Bravio also records visits to selected app screens, using predefined names such as Today, Finance, Journey, Insights and You. It does not send arbitrary route paths, record identifiers or user-entered screen titles.
When usage Analytics is enabled, Bravio also records a few feature actions, such as starting a quest or buying a character or Store item. These events use predefined feature, action and result labels; they contain no character or item identifiers, coin amounts or user-entered text. Parameters use short predefined values or counts. Bravio does not attach activity titles, checklist text, notes, financial values, mood entries, backup contents, names, email addresses, or cloud-account identifiers to these product events.
8. Crash reporting
Firebase Crashlytics automatically receives crash and stability reports. These can include the error and stack trace, app and build version, device model and manufacturer, Android version, device state, memory or storage details, timestamps, Crashlytics and Firebase installation identifiers, and session identifiers. When Analytics is enabled, reports may also include breadcrumb events describing limited app actions immediately before a crash.
Bravio may attach short technical labels describing how a local database operation failed, such as a constraint category. For errors explicitly reported by Bravio and uncaught JavaScript errors handled by its reporting bridge, Bravio replaces the original error message with a technical error classification and limits stack details to code names and locations, excluding device file paths. This filtering does not cover every native or automatic SDK report, which may contain additional technical information. Bravio does not intentionally attach financial amounts, balances, prices, activity or checklist titles, notes, mood or energy text, voice recordings, names, email addresses, cloud-account identifiers, or backup contents to crash reports.
9. Advertising and optional video rewards
Bravio includes Google Mobile Ads (AdMob) and Google's User Messaging Platform for advertising privacy choices. Optional rewarded videos are offered in the Store, Quick Capture, and the current weekly and monthly AI Coach reports. Watching a video is optional; local activities, Finance tools, and existing saved reports remain usable without watching. Designated test devices receive test ads; other eligible devices may receive live ads.
Google Mobile Ads may process IP addresses and approximate location inferred from them, device and installation identifiers including the advertising ID where available, device and app information, ad interactions, diagnostics, and consent signals for ad delivery, measurement, security, and fraud prevention. Bravio does not sell your profile content or send it to the ad network. Google and the partners disclosed in its consent form process advertising data under their own policies, including Google's Privacy Policy.
Where required, Google's form lets you consent, decline, or manage purposes and partners. Bravio checks Google's current eligibility before requesting an ad. Declining personalization does not necessarily disable all advertising: non-personalized or limited ads may remain eligible. Delivery depends on Google's consent signals and available inventory; Bravio does not override a blocked request. Your choice is retained by Google's consent SDK, and the form may reappear when required. Use Privacy choices → Manage ad privacy to revisit the choices when Google makes the form available.
For Quick Capture and AI Coach bonuses, Bravio creates an opaque reward reference and passes it to Google. Google sends a signed completion callback to Bravio's Supabase service containing that reference, the ad-unit identifier, transaction identifier, timestamp, and reward information. The service links the reference to your signed-in account to verify completion, enforce allowances, and prevent duplicate grants. Bravio does not send your email, cloud-account ID, AI input, report content, or backup to Google in this reference. Store coin rewards also use Google's signed server callback. They remain available without a cloud account: Bravio stores a private random installation key in protected phone storage and sends it only to Bravio's Supabase service. The service stores a hash of that key, an internal local-profile reference, reward references, ad-unit and transaction identifiers, timestamps, and delivery status to verify videos, enforce installation-based limits, and deliver each reward once. The private key and internal profile reference are not sent to Google. Google receives only the opaque reward reference. Verified coins and their receipts are credited to the local wallet and may be included in backups you choose to make. Clearing local app data, using Bravio's local erase option, or uninstalling removes the installation key; cloud-account deletion is separate from these installation-based anti-abuse records.
10. Hosted AI features
Hosted Quick Capture and AI Coach are optional online features requiring a Bravio Cloud session. Quick Capture sends the text you submit, or your submitted voice recording for transcription followed by the transcript, through Bravio's authenticated Supabase gateway to OpenAI, the selected launch provider. The backend also supports Google Gemini and Groq as separately selected alternatives; they are not automatic fallback providers when OpenAI is unavailable. AI Coach sends a structured summary of the relevant period, which can include activity and habit progress, focus totals, Finance aggregates by currency, and mood or energy aggregates. Do not submit passwords, bank credentials, or information you do not want an AI provider to process.
The gateway processes these inputs to return the requested result. Bravio does not intentionally store Quick Capture input text or audio in its quota or reward tables. AI Coach report results, period keys, source fingerprints, generation request references, usage counters, and reward records are stored account-privately in Supabase to recover reports and enforce allowances. A source fingerprint is a comparison value, not a copy of your records. For OpenAI requests, Bravio also keeps restricted administrative billing records containing the account reference, feature, model, timestamps, token counts, audio duration, latency, outcome, estimated cost, and provider request identifier. These records do not contain prompts, recordings, transcripts, financial entries or report content. They support spending limits and billing reconciliation. On account deletion, the account association is removed while non-content billing records remain for reconciliation and budget enforcement. OpenAI API content is not used for model training by default; default abuse-monitoring logs may be retained for up to 30 days, with longer retention in circumstances described by OpenAI, such as legal or security requirements. See OpenAI API data controls. Provider and infrastructure processing, logs, and retention are governed by their applicable terms; this policy does not promise zero retention by providers. See OpenAI's Privacy Policy, Google's Privacy Policy and Groq's Privacy Policy.
11. Who processes data for us
Supabase provides authentication, private profile-photo storage, encrypted cloud backups and their key records, bug-report storage, hosted AI routing, account-linked AI report and allowance records, reward verification, and the public time service. Google Firebase provides Analytics and Crashlytics. Google AdMob and consent partners provide advertising and privacy messaging. OpenAI, Google Gemini or Groq processes hosted AI requests according to the configured provider. Vercel hosts this website. Resend delivers website support-form messages. Google Play processes installation, device, and store information when distributing the app. Each provider has its own privacy terms; Bravio is responsible for choosing these providers and for the information sent to them.
Google Play reviews
After meaningful use, Bravio may request Google Play's native review dialog. Google controls whether it appears and processes the rating and text you choose to submit under its own terms. Bravio keeps only local request/cooldown metadata and does not receive confirmation that you submitted a review. Reviews may be public on Play or private feedback in a closed test. Manage or delete reviews through Google Play or your Google Account.
12. Keeping and deleting information
You can delete your online account inside Bravio at any time: open You → Profile, open the account options menu in the top corner, and choose Delete cloud account. The confirmation popup asks for your account email and fresh authentication before permanent deletion: your current Bravio password for password-enabled accounts, or the already-linked Google account for Google-only accounts. Cancelling authentication does not delete the account. Deleting Bravio does not delete your Google Account or a review you left in Google Play. This removes the authentication account and stored profiles and backups, subject to the limited records described on the account-deletion page. Your phone keeps its local data until you delete it, clear the app's storage, or uninstall Bravio.
Bug reports may be retained so we can answer and act on them. To request removal of a report you sent, email us with enough information to identify it. Backups, snapshots, password-encrypted backup keys, account-linked AI reports, generation and allowance records, profile photos, and hosted reward references are removed with the account, apart from provider disaster-recovery copies that expire according to the provider's retention schedule.
Analytics and Crashlytics records are retained according to Google Firebase's configured retention periods and terms. Deleting a Bravio cloud account does not necessarily remove previously collected installation-based Analytics or Crashlytics records.
Account-free Coins verification records are tied to an installation-key hash rather than your cloud account. Removing the key from your phone does not automatically delete server reward or anti-abuse records. Exported backup files remain wherever you saved or shared them until you remove those copies.
If you cannot open the app, email support@braviocompanion.com from the address associated with the account and describe what you want deleted. We may verify the request using that same address.
13. Security
Bravio uses row-level database policies, TLS, account-scoped backups, rate limiting, and least-privileged public credentials. Firebase data is transmitted using HTTPS. No storage or transmission method is perfectly secure. Protect your backup passwords, exported files, device, and email account as well. Authenticated AES-256-GCM encryption and scrypt password derivation protect supported backup files, but weak passwords can still be guessed offline. Encryption is not a guarantee against a compromised device or every future attack.
14. What backup encryption covers
What can the service read?
Authentication and access rules separate accounts. Once protection is set up and historical conversion completes, backup contents and activity counts are encrypted on your phone with a key the service does not receive in readable form. Backup metadata and separate online features remain accessible as described above. Backups made before conversion are not protected by this password encryption. We cannot recover encrypted contents without a usable key or the backup password.
15. Children and other regions
Bravio is not directed at children under 13. The app is available in English, French, Arabic, and Spanish. This policy is published in English, and translations may be added if required for Bravio's launch markets.
16. Changes
We may update this policy as Bravio changes. The effective date above changes with each material update, and significant changes will be announced in the app when appropriate.
17. Contact
For privacy questions or requests, email support@braviocompanion.com.