Governing law and jurisdiction: [JURISDICTION] · Contact: [email protected]
1. Summary
Revora is a motorcycle ownership and fuel-tracking application. You create a record of your motorcycle, refuelling, servicing and running costs, and the app turns that into fuel economy figures, maintenance reminders and ownership statistics.
- Your records belong to you. We store them so they survive a lost phone and appear on every device you sign in to.
- Your photos, receipts, service invoices, notes and registration number are private. They are never used for advertising, model training or a public feature.
- We do not sell personal data, show advertisements, use advertising identifiers or conduct cross-app tracking.
- Analytics and crash reporting receive only counts, categories and technical identifiers—never free-text notes, registration numbers, images or AI prompt contents.
- The app works offline. Offline records remain on your device and synchronise when you reconnect.
2. Who we are
Revora is published by Lumoura Labs, registered at [REGISTERED ADDRESS], [JURISDICTION]. Where data protection law designates a controller, Lumoura Labs is the controller for the personal data described here.
For privacy questions, requests or complaints, contact [email protected]. Where local law requires a designated representative or data protection officer: [DPO OR REPRESENTATIVE DETAILS, IF APPLICABLE].
3. What we collect and why
3.1 Account data
To sign you in and attach your records to you, we process:
| Data | Source | Why |
|---|---|---|
| Email address | You, at sign-up | Account identity, sign-in, recovery and support |
| Firebase user ID (UID) | Generated for you | Internal key for your records |
| Display name (optional) | You | Shown in the app |
| Profile photo URL (optional) | You or your sign-in provider | Shown in the app |
| Authentication metadata | Firebase Authentication | Security and abuse prevention |
Google Firebase Authentication provides authentication. We do not receive or store your password. A third-party sign-in provider's policy governs its sign-in step. Legal basis: performance of a contract.
3.2 Vehicle and fuel records
When you enter them, we store motorcycle details (including an optional registration number); fuel entries and adjustments; service records and line items; maintenance rules and reminders; parts and accessories; expenses; odometer entries; and personal fuel-gauge calibration samples. These may include dates, odometer readings, quantities, prices and costs, station or service-provider names, part details and your notes.
These records exist solely to render your garage, calculate fuel economy, cost per kilometre and ownership statistics, drive reminders and produce exports. Your registration number is treated as sensitive: it remains in your private records and is never sent to analytics, crash reporting or the AI gateway. Legal basis: performance of a contract.
3.3 Photos, receipts and service invoices
You may attach motorcycle, fuel or expense receipt, service invoice and accessory photos. Images are compressed on-device (longest edge 1600 px, JPEG quality 0.7, maximum 2 MB stored), then uploaded to Firebase Cloud Storage under your user ID, such as users/{your-uid}/bikes/{bike-id}/photos/{file}. Security rules restrict access to your account.
Photos are private by default. We do not use them for advertising, profiling or model training; publish them; share them with users; or give them to third parties for their own purposes. Legal basis: performance of a contract when you choose to attach an image.
3.4 Device and diagnostic data
Firebase SDKs process device model and manufacturer, OS, screen and locale settings; app version, build and package; Firebase installation and app-instance identifiers; connection type; crash stack traces, exceptions, breadcrumb logs and crash-time device state; and performance timings and response codes. We do not collect location, contacts, call logs, SMS or device-storage contents beyond images you deliberately attach. Legal basis: legitimate interests in a stable, secure product, or consent where required.
3.5 Analytics
Google Analytics for Firebase records a fixed set of product events, such as completing onboarding, adding a bike or fuel entry, viewing Premium, purchase or AI request outcomes, exports and syncs. Parameters are limited to counts, enumerated categories and booleans.
Analytics never receives free-text notes, registration numbers, images, AI prompts or responses, fuel values, identifiable expense amounts or odometer readings, or your email address. You can disable analytics in Settings; opt-in consent is requested where required. Legal basis: consent, or legitimate interests where consent is not required.
3.6 Crash reporting
Firebase Crashlytics records stack traces, exception types and messages, device and OS, app version, an installation identifier and non-identifying screen breadcrumbs. Custom keys contain only technical values. We do not attach notes, registration numbers, personal image paths or AI prompts. You can disable crash reporting in Settings. Legal basis: legitimate interests, or consent where required.
3.7 Performance monitoring
Firebase Performance Monitoring collects aggregate app-start, screen-render and network timing, payload size and response codes. It does not collect request or response bodies. Legal basis: legitimate interests in acceptable performance.
3.8 Push messaging
Firebase Cloud Messaging issues an installation token for service messages. It identifies the installation, not you personally, and is discarded when you uninstall or sign out. Maintenance reminders are scheduled locally wherever possible. Legal basis: performance of a contract and consent for non-essential messages.
3.9 Abuse prevention (App Check)
Firebase App Check uses Google Play Integrity signals to produce a short-lived attestation token showing that backend requests come from a genuine Revora installation. It does not identify you or read your records. Legal basis: legitimate interests in service security.
3.10 AI processing
Premium AI features include a fuel assistant, ownership insights, expense summaries, maintenance Q&A and one-off motorcycle specification research. Your device never contacts an AI provider or holds its credential. Cloud Functions authenticates you, verifies entitlement and allowance, assembles minimal relevant context, calls the provider and validates its response against a strict schema.
Sent: the text typed or dictated for that request, only relevant fields for the motorcycle concerned, the model identifier and response schema. Never sent: your email, name, UID, registration number, images, records for another motorcycle, payment details, purchase tokens, or a full history when a narrow slice suffices.
We do not use your data to train models. The current provider is Anthropic under commercial API terms under which inputs and outputs are not used to train its models. We will update this policy if that arrangement changes.
AI never writes records on its own: you review derived values and nothing is stored until you confirm. Deterministic app logic—not AI—calculates fuel economy, cost, distance and maintenance due points.
For each call, we retain request kind, model, a SHA-256 hash of normalized input, token counts, estimated cost, latency and status. The audit record does not contain prompt text. If you report a response, we retain a short response excerpt and your description for investigation. Legal basis: performance of a contract when you choose to use AI.
3.11 Purchases
Revora offers the one-time Google Play Billing purchase premium_lifetime. Google handles payment; we never receive payment instrument data. The device sends an opaque purchase token to our backend for verification. We store its SHA-256 hash, product ID, purchase state, purchase date, Google Play order ID and last-verification time. Server-side verification decides entitlement. Refunds and revocations deactivate Premium without changing your records. Legal basis: performance of a contract and transaction-record legal obligations.
3.12 Support correspondence
If you email [email protected], we process your address, message and chosen attachments as needed to resolve and record your query.
4. Cloud storage and synchronisation
Records are stored in Google Cloud Firestore and images in Google Cloud Storage for Firebase, in [FIREBASE DATA REGION]. Revora is offline-first: supported records can be created, edited and deleted offline in an encrypted on-device store, marked pending and synchronised later. Deterministic IDs prevent retry duplicates.
Firestore and Storage rules restrict user-owned data to its owner. The server re-derives your UID from the authentication token on every write. Global motorcycle specification and fuel-gauge profile reference data contains no personal information; your calibration samples remain private.
5. Who we share data with
We do not sell personal data or share it with brokers or advertisers. We use only providers needed to operate Revora:
| Provider | What they process | Role |
|---|---|---|
| Google Firebase services | Account data, records, photos, diagnostics and analytics events | Processor / infrastructure |
| Google Play Billing and Developer API | Purchase tokens and state | Processor / payment and licence verification |
| Anthropic | Minimal request context described in 3.10 | Processor / AI inference |
We may disclose data where legally required, to establish or defend claims, or investigate abuse or security incidents. In a merger, acquisition or asset sale, data may transfer to a successor bound by this or a materially equivalent policy; we will notify you in-app beforehand.
6. International transfers
Google and our AI provider operate globally, so data may be processed outside [JURISDICTION], including the United States and European Union. Where transfers are restricted, we rely on applicable safeguards such as standard contractual clauses, adequacy decisions or equivalent mechanisms. Contact [email protected] for more information.
7. Data retention
| Data | Retained |
|---|---|
| Account and profile | Until account deletion |
| Ownership records | Until you delete them or your account |
| Deleted records and images | Hidden immediately; backend or Storage purge within 30 days |
| AI audit records / response cache | 12 months / 30 days |
| AI response reports | 24 months, or until resolved and no longer needed |
| Analytics events | Up to 14 months |
| Crash reports / performance traces | Up to 90 days |
| Purchase records | Entitlement life, then as legally required in [JURISDICTION] |
| Support correspondence / server logs | 24 months from last message / 30 days |
Backups may retain copies for up to [BACKUP RETENTION PERIOD, e.g. 30 days], then roll off.
8. Your rights and how to exercise them
Depending on where you live, you may have rights to access, correct, delete, port, restrict or object to processing, and withdraw consent.
8.1 Access and export
Settings → Export data. Every rider can export core motorcycle, fuel, service, expense and odometer records as CSV. Premium riders can also create a complete structured backup.
8.2 Correction
App records and your profile, units, currency and preferences are editable in the app.
8.3 Deletion
Settings → Delete account. This removes your Authentication account, profile, all motorcycle and ownership records, reminders and calibration samples, all stored images, entitlement and hashed purchase reference, and AI audits. The backend completes the irreversible request within 30 days. It does not refund a purchase.
You can also email [email protected] from your registered address. See lumouralabs.com/revora/delete-account. Account deletion does not delete Google Play's purchase data.
8.4 Analytics and crash reporting
Settings → Privacy. Independent switches stop collection on your device.
8.5 Complaints
Contact us first at [email protected]. You may also complain to [SUPERVISORY AUTHORITY NAME AND CONTACT] in [JURISDICTION]. We respond to rights requests within 30 days or the shorter legally required period.
9. Children
Revora is for licensed motorcycle riders and owners and is not directed at children. Minimum age is 16, or the higher digital-consent age in your country. Google Play declarations identify an adult audience. If a child has provided data, contact [email protected] and we will delete it.
10. Security
- In transit: TLS encrypts all app, Firebase and backend traffic.
- At rest: Google-managed encryption protects Firestore and Storage; an encrypted local store and Android Keystore-backed secure store protect device data and tokens.
- Access: deny-by-default rules allow only the owning account.
- Server authority: the server controls entitlements, quotas and privileged operations; the app has no privileged, service-account or AI credential.
- Integrity and minimisation: App Check attests installations; images are compressed, AI context is minimal and analytics contains no free text.
- Staff access: limited to personnel who need it for operations, fault investigation or support.
No system is perfectly secure. If law requires breach notification, we will notify affected people and the relevant authority without undue delay.
11. Automated decision-making
We do not make automated decisions with legal or similarly significant effects. AI creates drafts and prose suggestions that you review; it never makes a decision about you.
12. Changes to this policy
We may update this policy as the product or law changes. We will update the date, publish it at lumouralabs.com/revora/privacy and notify you in-app before material changes take effect. Previous versions are available from [email protected].
13. Contact
- Email: [email protected]
- Postal: Lumoura Labs, [REGISTERED ADDRESS]
- Website: lumouralabs.com/revora
- Privacy: lumouralabs.com/revora/privacy
- Terms: lumouralabs.com/revora/terms
- Account deletion: lumouralabs.com/revora/delete-account
Revora is not affiliated with, endorsed by or sponsored by any motorcycle manufacturer. Manufacturer and model names are used descriptively to identify vehicles.