Oceanus Privacy Policy
Effective Date: November 4, 2026
This Privacy Policy describes how LiJordan ("we", "us", or "our") collects, uses, and protects your personal information when you use the Oceanus mobile application ("App") and the profile and species links we host at oceanus.lijordan.com.
By using Oceanus, you agree to the collection and use of information in accordance with this policy.
1. Information We Collect
1.1 Account Information
When you create an account or log in via Google or Apple, we may collect:
- Email address (stored only in Firebase Authentication, not duplicated in our Firestore database)
- Display name
- Profile photo URL
- Nickname (optional, user-chosen; 3–20 characters using lowercase letters, digits, dot, or underscore)
1.2 Device Information
We automatically collect:
- Device type and operating system version
- App version
- Usage analytics (on iOS, linked to your account ID while you are signed in)
1.3 Camera Data
When you use the marine species identification feature, we access your device's camera to capture images. These images are processed to identify species and provide information. We do not store these images on our servers after processing, unless you explicitly save identified species to your collection.
1.4 Species Detection Data
Information generated from the species detection feature:
- Identified marine species names and IDs
- Detection timestamps
- First discovery flags
- Image references (if saved to collection)
1.5 Garmin FIT Import
You can import a dive from a .FIT file saved by a Garmin device (a Premium feature). The App reads the file on your device: the file itself is never uploaded, and Oceanus does not connect to your Garmin account or receive anything from Garmin.
From the file, the App keeps only what a logbook entry needs:
- Dive type (scuba or freediving), start time and duration — for freediving, also your longest single dive
- Maximum and average depth
- Water type and temperature
- Depth profile (depth samples over time)
- Site name and the GPS coordinates of the entry point, when the file has them
Other data in the file, such as gas mixes or the device's model and serial number, is not stored. Only dive activities can be imported. The imported entry is stored and synced like an entry you add by hand (see Section 1.7).
1.6 AI Dive Story Feature
When you use the AI Dive Story feature in the dive log share sheet (a Premium-only feature):
- The photo you select from your device is sent to Google's Vertex AI (Gemini 3.1 Flash Image) to generate a transformed cinematic underwater scene
- Selected dive log statistics (location name, max depth, dive time — for freediving, your longest single dive — water temperature, date) are included in the generation prompt
- Google processes these inputs solely to produce the generated image; we do not retain the source photo on our servers
- The resulting AI-generated image is stored locally on your device under the app's Documents directory until you regenerate or delete it
- We store an anonymous monthly usage counter (number of generations per calendar month) in Firebase Firestore under your account, used only to enforce the per-user monthly generation limit
1.7 Cloud Sync Data
If you sign in with your Google or Apple account, the following data is synced to Firebase Firestore:
- Your profile information (display name, profile photo URL, nickname, user type), plus the optional details you choose to add: a short bio, where you are based, the languages you speak, your water interests, and the countries in your travel tracker for scuba diving, freediving and snorkeling
- Your detection history
- Your favorite species
- Your discovered species collection
- Your logbook — dive, snorkeling and fishing entries, added by hand or, for dives, imported from a Garmin .FIT file. Depending on the kind, an entry holds the date and duration, site name, GPS coordinates when the source provides them, depth (and, for imported dives, the depth profile), water type and temperature, visibility, the gear you used, your fishing method and catches (species, count, weight, length, and whether the fish was released), the species you saw, a title, your notes and a rating
- Likes you give to log entries of other users (your account id and the time of the like)
- Your gear list
- Your diving certifications, if you add them: agency, level, card number, issue and expiry dates, instructor name and number, notes, and photos of the front and back of the card
- Your follow relationships (the accounts you follow and the accounts that follow you)
- Your leaderboard standing — an "Ocean Score" recalculated once a day from the number of species you have identified, your total identifications, your unlocked achievements and your longest activity streak, together with your rank among participating users (see Section 3.2)
Your email address is stored only in Firebase Authentication and is not duplicated in our Firestore database. Profile photos and certification card photos you upload are stored in Firebase Cloud Storage.
1.8 Push Notification Tokens
If you enable push notifications, we store a per-device record so we can deliver messages to your device:
- The push notification token issued by Apple Push Notification service (APNs) via Firebase Cloud Messaging (FCM), or by FCM directly on Android
- Your device's language code (used to send notifications in your preferred language)
- A technical platform identifier ("ios" or "android")
Notification tokens are stored only for the purpose of delivering push notifications. They are not used for advertising or cross-device tracking. See Section 4 for details on how notifications work and how to opt out.
1.9 Device Location (Sky Conditions)
Oceanus can show today's sunrise and sunset times, the moon phase, and whether the tide is running spring or neap on your profile screen. Working these out requires knowing roughly where you are.
- What we access: your approximate location only. On Android the app requests the coarse location permission; on iOS it requests "While Using the App" access and asks the system for kilometre-level accuracy. The app never requests precise location.
- When: only after you turn on Settings → Conditions → "Use location for conditions", which is off by default, and only while your profile screen is open. Normally at most one position request is made per day.
- Where it goes: nowhere. Sunrise, sunset, moon phase and tide type are computed entirely on your device using offline astronomical formulas, with no network request. Your coordinates are never sent to our servers, never stored in our cloud database, and never shared with any third party — including our advertising and analytics providers.
- What is stored: the app keeps the last position on the device itself, rounded to roughly one kilometre, together with the date it was taken, so that opening your profile again on the same day needs no new position request. This is held in the device's local app storage, is not synced between your devices, and is removed when you uninstall the app or clear its data. On iOS the app also copies the same rounded position into on-device storage shared only with its own widgets, so the Today's conditions widget can work without location access of its own (see Section 1.10); that copy is removed as soon as you turn the setting off, or the next time the app finds the permission revoked.
- How to stop it: turn the setting off, which stops all location access and removes the feature from your profile; or revoke the location permission in your device settings, which also stops access.
Location never leaves your device. This feature adds no data to your account, to our servers, or to any third-party service. It is the only part of Oceanus that uses your device's current position, and it is off until you turn it on.
1.10 Home Screen and Lock Screen Widgets (iOS)
On iOS, Oceanus offers three widgets: Today's conditions, Species Seen and Underwater travel. A widget cannot reach our servers or your account by itself, so the app copies to it only what it draws, into storage on the device that only Oceanus and its widgets can read:
- Today's conditions: the rounded position described in Section 1.9, and only while that feature is on
- Species Seen: how many marine species you have seen, and how many the catalog holds
- Underwater travel: the country codes in your travel tracker for each activity
This copy stays on the device and is never sent anywhere. The Species Seen and Underwater travel data are removed when you sign out. Today's conditions and Species Seen can be placed on the lock screen, where what they show — including sunrise and sunset times, which hint at your general region — can be read without unlocking the device. Remove the widget if you would rather not show this.
2. How We Use Your Information
The information collected is used to:
- Provide marine species identification using AI technology
- Generate AI-enhanced cinematic dive story images from photos you select (Premium feature)
- Store and display your species collection and discoveries
- Keep your dive, snorkeling and fishing logbook, and import dives from Garmin .FIT files
- Link species sightings to specific dives, snorkeling sessions or fishing trips
- Suggest countries for your travel tracker from the coordinates in your logs, worked out on your device
- Improve the accuracy of species identification
- Provide a unique, user-chosen identifier (nickname) so you can be referenced consistently within the app
- Enable social features: user search, following other users, and viewing others' public profiles
- Calculate your Ocean Score and rank, and display the global leaderboard to signed-in users, unless you have opted out
- Send push notifications about events relevant to your account (for example, when someone starts following you or likes one of your logs)
- Show today's sunrise, sunset, moon phase and tide type on your profile, computed on your device from your approximate location (see Section 1.9)
- Show home screen and lock screen widgets on iOS (see Section 1.10)
- Sync your data across devices
- Display relevant advertisements
- Process in-app purchases and subscriptions
- Communicate important updates
3. Public Profile and Social Features
When you sign in, certain information becomes visible to any other signed-in user of the app:
- Your display name, profile photo, nickname, and chosen user type (Diver, Fisher, Strider)
- The optional profile details you add: your bio, where you are based, the languages you speak, your water interests, and the countries in your travel tracker for scuba diving, freediving and snorkeling
- The certifications you choose to show on your profile — agency, level and year only. Card numbers, dates, instructor details, notes and card photos are never shown to other users
- Your follower count and following count
- Your identity in other users' followers/following lists after you follow or are followed by them
- If you take part in the global leaderboard: your rank, your Ocean Score, and the aggregate counts behind it (see Section 3.2)
These details are not covered by the settings in Section 3.1, so add only what you are happy for other users to see. A profile photo you upload is served from an image link that does not require signing in, so anyone who obtains that link can open the photo.
3.1 Species Seen and Logbook Visibility
Two further parts of your profile can be shown to other signed-in users, and you control who sees each of them from Settings → Privacy & Legal → Profile visibility:
- Species seen — your "species seen" progress and the list of marine species you have identified, with their images
- Dive log — despite its name, this one setting covers your whole logbook: dive, snorkeling and fishing entries. They include date and time, site name, GPS coordinates (when the entry has them), maximum and average depth, duration, water type and temperature, visibility, equipment details, your written notes, the species linked to each entry, the depth profile chart of a dive, and the method and catches of a fishing trip. The same people also see the likes on these entries and who gave them
Each of the two has its own independent setting with four levels:
- Everyone — any signed-in user of the app
- Friends — only users you follow who also follow you back (a mutual follow)
- Followers — only users who follow you
- Nobody — only you
Defaults. Species seen defaults to Everyone. Your dive log defaults to Followers, meaning that unless you change it, users who follow you can see your dive, snorkeling and fishing entries, including the GPS coordinates of your sites and any notes you have written. If you would rather keep this private, set the dive log to Nobody in Settings → Privacy & Legal → Profile visibility. These settings are enforced on our servers, not only in the app.
Because log entries can contain precise location data and free-text notes, we recommend reviewing this setting before adding entries, and avoiding personal details in notes and site names if you share your log.
Likes. When you like an entry that another user has shared with you, we store your account id and the time of the like under that entry. Its owner may get a notification about it, and anyone who can see the entry can see that you liked it. You can remove your like at any time.
3.2 Global Leaderboard
Once a day we rebuild a global leaderboard and publish the top 100 participants, which every signed-in user of the App can see. Each published entry contains your display name, profile photo, nickname, user type, rank, Ocean Score, and the four aggregate counts the score is built from: species identified, total identifications, unlocked achievements, and longest activity streak. If you are ranked outside the top 100, your own rank and score are still calculated and shown to you inside the App, but your entry is not published on the board.
Only totals are published. Individual detections, their dates, their photos, your logbook, and any location data are never part of a leaderboard entry, regardless of your other visibility settings.
Defaults and opt-out. Participation is on by default for signed-in users. You can turn it off at any time in Settings → Privacy & Legal → Profile visibility → "Take part in the leaderboard". When you opt out, your entry is removed from the published board at the next daily rebuild and your stored rank and score are deleted from your profile. Deleting your account removes your entry from the board immediately.
3.3 Profile Links
Sharing a profile from the App produces a link of the form https://oceanus.lijordan.com/u/{your account id}. You choose whether and where to post it; once posted it is outside our control, the account id in it cannot be changed or rotated, and deleting your account is the only way to break the link.
The same link is printed as a QR code on the profile card you can design in the App, and on the Apple Wallet pass described in Section 3.4. A QR code carries no information beyond that link, but it can be photographed from a screen or a printout by anyone who can see it — treat showing the card as posting the link.
The link does not bypass Section 3.1. Opening it requires a signed-in Oceanus account, and what the viewer then sees is exactly what your visibility settings allow. The link preview shown in messengers is the generic Oceanus icon and name — it does not reveal whose profile it points to — and the page is marked noindex, so profiles are not indexed by search engines. Visitors without the app get a page offering the App Store and Google Play.
Opening the link records a standard web server log entry with Google Firebase Hosting (IP address, browser user agent, timestamp, referring page). These logs are used for security and operations only; they are not linked to your Oceanus account or used for advertising.
We recommend not using personally identifying information in your display name or nickname if you prefer to remain anonymous. You can change your nickname at any time from the Profile screen. Follow relationships are stored as records in our cloud database that indicate which accounts you follow and which accounts follow you; unfollowing removes both records. Deleting your account removes all of this information along with your other data.
Private data — your detection history, favorites, individual achievements, streak history, gear list, full certification records and card photos, notification tokens, and email address — is not visible to other users under any setting. The leaderboard draws on some of it, but only as the aggregate counts described in Section 3.2, never as individual records.
3.4 Apple Wallet Card (iOS)
On iOS you can add your profile card to Apple Wallet. The pass is built and signed on our servers, because a Wallet pass is only valid with a signature the App cannot produce on its own. The App sends only which card of your deck you picked; everything printed on the pass is read server-side from your own account:
- Your display name, nickname and diver type
- The year your account was created
- Your Ocean Score, species seen, identifications and leaderboard rank — the same aggregate figures described in Section 3.2
- A QR code containing your profile link (Section 3.3)
The finished pass is handed to Apple Wallet and stored on your device. We do not operate a pass update service, so Apple does not send us your device identifier and we cannot see, change or remove a pass once it is added — the pass is yours to delete from Wallet. A pass can be shown on a locked screen and can be shared onward by whoever holds it, so what it displays is as public as you choose to make it. Passes already added are not affected by later changes to your visibility settings or by deleting your account; the profile link on them stops working, as described in Section 3.3.
4. Push Notifications
The app can send push notifications (for example, when another user follows you or likes one of your logs). This feature is optional and requires your explicit consent:
- Data we store per device: see Section 1.8.
- When we collect: after you tap "Enable notifications" and grant the system permission prompt.
- How we use it: only to deliver push notifications to your device. We do not use notification tokens for advertising, cross-device tracking, or any other purpose.
- How to opt out: at any time, disable notifications in your device's Settings → Notifications → Oceanus. You can also revoke permission by deleting the app. When you sign out, we delete the notification token associated with the signed-out device. When you delete your account, all your notification tokens are deleted.
5. Third-Party Services
We use the following third-party services:
- Google Firebase: Authentication, Firestore database, Cloud Storage, Cloud Functions, Analytics, Crashlytics, and App Check
- Google Gemini AI / Vertex AI: Powers marine species identification, information retrieval, and AI Dive Story image generation. Photos and prompts you submit are processed by Google solely to produce results returned to the app; Google does not retain them for model training under the Vertex AI data processing terms.
- Firebase Cloud Messaging (FCM) and Apple Push Notification service (APNs): Delivers push notifications to your device. See Section 4.
- AdMob (Google Ads): Displays advertisements. On iOS, AdMob may use Apple's Advertising Identifier (IDFA) to personalise them and to measure advertising performance across apps and websites owned by other companies — that is, for tracking as Apple defines it. iOS asks for your permission first through the system prompt, and the identifier is used only if you allow it; declining leaves the advertising non-personalised, and you can change your answer at any time in Settings → Privacy & Security → Tracking. On Android the equivalent role is played by the Advertising ID, which you can reset or delete in the system settings.
- Google UMP: Manages user consent for personalized advertising
- Amplitude Analytics (Android): App analytics and user behavior analysis
- Google Play Billing (Android) and Apple StoreKit (iOS): Processes in-app purchases and subscriptions
- Firebase Hosting: Serves our website and the profile/species links, and keeps standard access logs (see Section 3.3)
Important: We do not sell, trade, or share your personal data with third parties for marketing purposes. Data shared with third-party services is used solely to provide app functionality. Public profile information, follow relationships, leaderboard entries, and — subject to the visibility settings you choose — your species seen and logbook (see Section 3) are visible to other signed-in users of the app as part of the app's normal functionality.
6. Data Security
We protect your data using:
- Encryption of data in transit (HTTPS/TLS)
- Encryption of data at rest in Firebase Firestore
- Firebase App Check to prevent unauthorized access
However, no method of data transmission or storage is completely secure, and we cannot guarantee absolute security.
7. Data Retention
We retain your personal data for as long as your account is active or as needed to provide services. You can request deletion of your data at any time.
8. Your Rights
You have the right to:
- Access: Request a copy of your personal data
- Correction: Request correction of inaccurate data
- Deletion: Request deletion of your account and all associated data (including follow relationships and notification tokens)
- Portability: Request your data in a portable format
- Withdraw Consent: Disable push notifications in your device's Settings; turn off Settings → Conditions → "Use location for conditions" to stop all location access; leave the global leaderboard in Settings → Privacy & Legal → Profile visibility, which removes your entry at the next daily rebuild
- Opt-out: Sign out to stop cloud synchronization (this also removes the current device's push notification token)
9. US State Privacy Rights
Residents of California, Virginia, Colorado, Connecticut, Utah, and other US states with privacy legislation have additional rights:
- Right to Know: Request information about collected personal data
- Right to Delete: Request deletion of your personal information
- Right to Opt-Out of Sale: We do not sell your personal information
- Right to Non-Discrimination: We will not discriminate for exercising your rights
- Right to Correct: Request correction of inaccurate information
To exercise these rights, contact us at contact@lijordan.com. We respond within 45 days as required by law.
10. Children's Privacy
Oceanus is intended for users aged 18 and older. We do not knowingly collect data from children under 18.
11. Updates to This Policy
We may update this Privacy Policy from time to time. Updates will be reflected on this page with a new "Effective Date."
12. Contact Us
For questions about this Privacy Policy:
- Email: contact@lijordan.com
- Company: LiJordan, Poland