Appearance
Keryx visual identity and store asset kit
Approved: 26 August 2026. Mark revision: 7 September 2026.
This document is the P2-01 visual-identity brief and store asset-kit specification for Keryx for SafeCall. It applies the P0-01 name hierarchy, records the canonical app mark, defines wordmark/palette/usage rules, and inventories current assets and remaining gaps.
It does not claim that a wordmark SVG/PNG was produced, that store listing graphics are final, that launcher metadata casing is fixed, or that a website brand kit is live. Android adaptive / round / monochrome assets and the megaphone mark revision are in source as of 7 September 2026.
Purpose and non-goals
Purpose
- Approve identity rules so listings, screenshots, web pages, and app chrome stay consistent with SafeCall companion positioning.
- Inventory the master icon and platform derivatives; record launch gaps.
- Assign ownership, versioning, and export procedure for later artwork work.
Non-goals
- Redesigning the icon or regenerating mipmaps / AppIcon sets in this item.
- Producing wordmark artwork files.
- Changing Android/iOS/Flutter display names in source (later implementation).
- Final Play feature graphic or screenshot production — spec in store-screenshot-kit.md (P2-03); PNG export #123/#125.
- Publishing live web brand pages — spec in public-web-pages.md (P2-04); HTTPS deploy deferred.
Approved identity hierarchy
| Layer | Name / role |
|---|---|
| Legal publisher / store seller | sourcectl (Copyright © 2026 sourcectl) |
| Product umbrella | Wantok |
| Contracted platform | SafeCall |
| Public / in-app product name | Keryx for SafeCall |
| Launcher label (home screen) | Keryx |
| iOS / App Store bundle ID | com.sourcectl.keryxapp (amended 29 August 2026) |
| Android / Play application ID | com.sourcectl.keryx |
Keryx is SafeCall’s administrator-only mobile notification companion. It is not a standalone consumer product, not owned by BleuVista or AlertHub, and must not be presented as independently usable without SafeCall.
Naming in visual contexts
| Context | Use |
|---|---|
| App Store / Play listing title | Keryx for SafeCall |
| In-app product title / About | Keryx for SafeCall |
| Home-screen / launcher icon label | Keryx |
| Icon glyph | Mark only — no wordmark baked into the app icon |
| Store / web lockup next to icon | Text wordmark Keryx for SafeCall (artwork TBD) |
| Czech public materials | Same hierarchy; localized lockup via #108 |
Do not use lowercase keryx as the sole public product name in store or web chrome. Current source still uses lowercase launcher metadata in places — that is a gap for implementation, not an approved visual rule.
Icon system
Canonical source
- Editable:
keryx/assets/icon/keryx_icon.svg - Master PNG:
keryx/assets/icon/keryx_icon.png— 1024×1024 RGB, no alpha (opaque). - Adaptive foreground:
keryx/assets/icon/keryx_icon_foreground.png— 1024×1024 RGBA; megaphone only, padded into the Android 66% safe zone. - Monochrome:
keryx/assets/icon/keryx_icon_monochrome.png— white silhouette on transparent (Android 13+ themed icons). - Previous mark:
keryx/assets/icon/keryx_icon_v1_shield.png(shield + signal arcs; superseded 7 September 2026). - Concept: white geometric megaphone (cone, mouthpiece, short handle; facing right; no sound-wave arcs) on a solid deep-blue field — herald / announcement. Mark only; no wordmark.
Measured mark colors (from master PNG)
| Role | RGB | Hex |
|---|---|---|
| Field / primary blue | 0, 48, 135 | #003087 |
| Mark / on-field | 255, 255, 255 | #FFFFFF |
QA checklist (must pass before submission)
| Check | Requirement |
|---|---|
| Safe zone | Critical megaphone cone and handle remain clear inside platform masks (iOS squircle, Android adaptive) |
| iOS marketing 1024 | Opaque; no transparency; no rounded corners baked in |
| Android adaptive | Foreground/background layers or verified full-bleed; round/legacy variants reviewed |
| Monochrome | Android thematic / monochrome adaptive asset produced and legible |
| Small sizes | Legible at ~29–48 px equivalents |
| Dark / light frames | Blue field remains distinct on light and dark store backgrounds |
| Masking | No essential detail clipped at edges after mask |
Platform derivatives and gaps
| Asset | Path / location | Status |
|---|---|---|
| Editable SVG | keryx/assets/icon/keryx_icon.svg | Ready |
| Master icon | keryx/assets/icon/keryx_icon.png | Ready (1024 RGB opaque) |
| Adaptive foreground / mono | keryx/assets/icon/keryx_icon_foreground.png, keryx_icon_monochrome.png | Ready |
| iOS AppIcon set | keryx/ios/Runner/Assets.xcassets/AppIcon.appiconset/ | Regenerated 7 September 2026 — 1024 marketing icon is opaque RGB |
| Android adaptive / round / legacy | mipmap-anydpi-v26/ic_launcher.xml, ic_launcher_round, mipmap-*/ic_launcher.png | Ready (navy field + padded megaphone; monochrome layer present) |
| Notification status bar | keryx/android/app/src/main/res/drawable/ic_stat_keryx.xml | Ready (white silhouette) |
| iOS / Android launch | LaunchImage.imageset, drawable/launch_background.xml | Ready (navy field + mark) |
| Web icons | keryx/web/icons/, keryx/web/favicon.png | Present — secondary; not store submission |
| macOS icons | keryx/macos/Runner/Assets.xcassets/AppIcon.appiconset/ | Present — out of public launch scope (macOS excluded) |
Remaining gaps: wordmark artwork files; fix leftover lowercase launcher metadata to Keryx where it still appears. Re-export with dart run flutter_launcher_icons from keryx/ after any master change.
Wordmark
| Topic | Approved rule |
|---|---|
| Lockup text (EN) | Keryx for SafeCall |
| Treatment until artwork exists | Typeset lockup (no invented third-party logo mark); pair with the app icon mark |
| UI typography | Prefer platform system UI fonts (SF / Roboto / Material defaults) for in-app chrome |
| Store / web display | Sans lockup; do not introduce a novelty display face that fights SafeCall family materials |
| Czech | Localized product lockup under #108; keep companion hierarchy |
No wordmark SVG/PNG exists in-repo. Closing this item approves the text and usage rules, not shipped artwork.
Palette and type
Launch palette
| Token | Hex | Use |
|---|---|---|
keryx-blue | #003087 | Icon field; primary brand accent for Keryx-marked surfaces |
keryx-on-blue | #FFFFFF | Icon glyph; text/icons on keryx-blue |
| Neutrals | System / SafeCall page neutrals | Body copy, store frames — do not invent a second full theme here |
Public install/legal pages per public-web-pages.md (P2-04) should follow the host site’s SafeCall/sourcectl page system and use keryx-blue only where a Keryx mark accent is needed.
Type
- In-app: platform defaults.
- Marketing lockup: clean sans; weight hierarchy that keeps Keryx primary and for SafeCall clearly subordinate companion phrasing.
SafeCall relationship rules (visual)
- Always show Keryx as a SafeCall companion, not an independent acquisition product.
- Do not use BleuVista or AlertHub marks as Keryx owners or parents.
- Store screenshots and feature graphics must show administrator QR / friendly categories per store-screenshot-kit.md (P2-03) — not generic ntfy branding.
- No visual promise of guaranteed emergency delivery (align with safety claims).
Ownership, versioning, and export
| Topic | Rule |
|---|---|
| Owner / approver | Thomas Minitsios (P0-05 RACI) |
| Change control | Any master-mark or lockup change requires this owner’s approval and a roadmap/note touch |
| Versioning | When the mark changes, bump a documented asset revision (date + short note in release evidence) and regenerate platform derivatives |
| Export procedure | Rasterize keryx_icon.svg to the 1024 PNG masters, then from keryx/ run dart run flutter_launcher_icons (config in pubspec.yaml). Asset revision 7 September 2026 executed this path. |
| Secrets | No store signing material in asset folders |
Evidence handoffs
| Work | Owner |
|---|---|
| Adaptive / round / monochrome + re-export | Done 7 September 2026 (megaphone revision) |
| Wordmark artwork files | Later design implementation guided by this brief |
| Launcher / Flutter title casing to approved names | Later implementation / P3 metadata |
| Listing copy using approved names | store-listing-copy.md (P2-02) |
| Screenshots / feature graphic | store-screenshot-kit.md (P2-03); PNG export #123/#125 |
| Public web pages | public-web-pages.md (P2-04); HTTPS deploy |
| Czech lockup parity | #108 |
Explicit non-claims
Closing #104 approved this brief. The 7 September 2026 revision ships the megaphone mark and adaptive kit. It still does not:
- claim a wordmark SVG/PNG was produced;
- claim store listing graphics are final;
- claim app/Android/iOS metadata casing is fixed;
- claim a website brand kit is live.
Review record
- Status: approved as the P2-01 visual identity and store asset-kit specification. Mark revised 7 September 2026 (shield → megaphone; adaptive / round / monochrome generated).
- Date: 26 August 2026 (brief); 7 September 2026 (mark revision).
- Approver: Thomas Minitsios under the P0-05 RACI.
- Depends on: P0-01 identity decision, strategy.md, safety-claims.md.
- Evidence sources:
keryx/assets/icon/keryx_icon.svgandkeryx_icon.png(measured palette), platform icon trees underkeryx/ios,keryx/android,keryx/web.