Account
|
iOS |
Android |
| Status |
⏳ |
⏳ |
| Code |
— |
— |
Source: click dummies docs/companion_app/sailever-ios.html, docs/companion_app/sailever-android.html (Account).
Verified against code: 2026-10-11 (no code yet; checked against the click dummies)
Purpose
The user's profile, passkeys, plan and app settings. Same data as the website's /my/profile and /my/account, plus the theme and version of the app.
Server API
| Need |
Status |
Profile read / update, email change with confirmation: GET/PATCH /api/v1/account |
⏳ missing (website: /my/profile, /my/account) |
Subscription: GET /api/v1/account/subscription |
⏳ missing (website: /my/subscription) |
Passkeys: options, create, delete under /api/v1/passkeys |
⏳ missing (website: /my/passkeys). Native passkeys need the app's associated domain (Apple app site association file, Android asset links file) on sailever.com. |
Sign out: DELETE /api/v1/session |
⏳ missing |
Layout / behaviour
Opened from the avatar on any tab.
| Element |
Content & format |
Behaviour |
iOS vs Android |
| Container |
Title "Account". |
— |
iOS: sheet with Done. Android: pushed screen with back arrow. |
| Profile header |
Avatar with initials, "{first} {last}", email. |
— |
iOS: centred, large uppercase name. Android: avatar left, name and email right. |
Profile
| Element |
Content & format |
Behaviour |
iOS vs Android |
| First name |
Text field. |
— |
— |
| Last name |
Text field. |
— |
— |
| Email address |
Email field. Hint "You sign in with this address. A new one only counts once you click the link we send to it." |
A new address is pending until confirmed. |
— |
| Preferred language |
English, Deutsch, Français, Italiano, Español, Ελληνικά, Português. Hint "For the app and the emails we send you." |
Changes the app language and the email language. |
— |
| Save profile |
Button. |
Saves. Same email: "Profile saved." New email: "Profile saved. We sent a link to {email}: click it to switch to that address." |
iOS: centred tinted cell. Android: filled button. |
Passkeys
| Element |
Content & format |
Behaviour |
iOS vs Android |
| Lede |
iOS: "Sign in with Face ID or Touch ID instead of waiting for an email. The email link always keeps working." Android: "Sign in with your fingerprint, face or screen lock instead of waiting for an email. The email link always keeps working." |
— |
Platform wording. |
| Passkey row |
Passkey icon, name, "Added {date} · last used {date}" or "not used yet". Remove button. |
Remove: confirmation "Remove this passkey?" / "You can still sign in with an email link." Then "Passkey removed." |
iOS: red minus icon. Android: trash icon. |
| Empty |
"No passkeys yet." |
— |
— |
| Add passkey |
Button. |
Opens the system passkey sheet for sailever.com. Success: new row, "Passkey added. Next time, sign in with it." |
iOS: sheet "Save a passkey for “sailever.com”?", saved in iCloud Keychain, Face ID. Android: Credential Manager "Create a passkey for sailever.com?", saved in Google Password Manager. |
Subscription
| Element |
Content & format |
Behaviour |
iOS vs Android |
| Plan |
"Beta Pro (Active)". Text: "Free during the beta. Pricing will be announced in advance; nothing is billed automatically." |
Read only. |
iOS: cell with a green "Active" badge. Android: card with the badge in the title row. |
App
| Element |
Content & format |
Behaviour |
iOS vs Android |
| Theme |
"System" / "Light" / "Dark". Default System. |
Applies at once. Stored on the phone. |
iOS label "Appearance". Android label "Theme", with icons. |
| Units |
"NM · kn · °T". |
Read only. |
— |
| Version |
App version, mono. |
Read only. |
— |
| Sign out |
Button. |
Signs out on this phone and returns to sign-in (⏳ not designed). |
iOS: red cell. Android: outlined button with logout icon. |
States and edge cases
- Email already taken: "That address already belongs to another account." (website copy).
- Passkey creation cancelled or failed: "The passkey couldn't be added. Please try again."
Known deviations
- Copy aligned with the website (
app.account.*, app.passkeys.*, app.subscription.*): "Email address", "Preferred language", the email hint, the confirmation message, "Beta Pro (Active)". The dummies say "Email", "Language" and "We sign you in with a link to this address. Changing it needs a confirmation."
- The website's language hint says "Used for the emails we send you." The app also uses the setting for its own language, so the app hint differs on purpose.