Skip to content

Keryx privacy-safe store screenshot and preview asset kit

Approved: 26 August 2026

This document is the P2-03 screenshot-kit specification for Keryx for SafeCall. It approves required device sizes, screen states, privacy-safe sample data, capture and redaction checklists, bilingual captions, and Play feature-graphic rules for Apple App Store and Google Play.

It does not claim that PNG/JPG exports exist in the repository, that Figma or Sketch sources were produced, that Czech in-app UI was captured, that the #123 reviewer environment is live, or that store consoles contain uploaded assets.

Purpose and non-goals

Purpose

  • Define a repeatable, privacy-safe store screenshot kit aligned with P0–P2 identity, listing copy, safety claims, and data classification.
  • Specify every required frame (Keryx app and optional SafeCall provisioning), fictional sample content, and pre-export QA so capture can proceed without client data leakage.
  • Assign handoffs for live capture, Czech UI, console upload, and design sources.

Non-goals

  • Committing final screenshot or feature-graphic binary exports (this close).
  • Creating editable marketing design files (Figma/Sketch).
  • Capturing from production SafeCall deployments or real client QR payloads.
  • Building the isolated reviewer/test environment (#123).
  • Pasting assets into App Store Connect or Play Console (#125).
  • Localizing Keryx or SafeCall provisioning UI in source (#108).

Device and locale matrix

Re-verify pixel requirements on submission day; platform consoles change slot names occasionally.

Minimum counts

StoreMinimum screenshotsNotes
Apple App Store3 per required device classUp to 10 per class; use same narrative order across classes
Google Play2 phone (required)Up to 8 phone; tablet slots optional at launch

Required export slots

PlatformDevice classPortrait size (px)Launch requirement
AppleiPhone 6.9" display (current generation)1320 × 2868Required
AppleiPad Pro 13-inch (6th gen / M4 class)2064 × 2752Required (P0-04 iPad support)
Google PlayPhone9:16 portrait; short side ≥ 320, long side ≤ 3840Required
Google Play7-inch tabletSame bounds as phone policyOptional at launch — use if tablet listing enabled
Google Play10-inch tabletSame bounds as phone policyOptional at launch
Google PlayFeature graphic1024 × 500 (JPG or 24-bit PNG, no alpha)Required

Landscape orientations are supported by Keryx on iPad; launch screenshots use portrait unless a later submission adds landscape variants for all locales.

Locales

LocaleScreenshot setCaption languageIn-app UI for capture
English (primary)Full shot list belowEnglishCurrent English UI acceptable
CzechFull shot list belowCzechRequires #108 Czech UI before CS capture; captions approved here

Do not ship Czech store screenshots with English-only in-app chrome unless #108 is explicitly deferred and risk accepted in the roadmap.

Required screen states

Ordered narrative for both stores. Use the same sequence across iPhone, iPad, and Android phone exports (reflow only; do not change story order).

#StateSurfaceMust showMust hide
1Unconfigured onboardingKeryx appEmpty-state title; Scan QR code primary action; help that SafeCall generates the QRntfy server URL, topic IDs, client server IDs, credentials
2QR scan (optional)Keryx appScanner chrome / permission prompt if needed for storyDecodable production QR; real hostnames in any overlay
3Active tabKeryx appActive tab; supplemental alerts with friendly category labels; badge if usedRaw topic names (TST000-sos), MAC addresses, room/site identifiers tied to real clients
4Archive tabKeryx appArchive tab; read/archived sample itemsSame redactions as Active
5Notification detailKeryx appTitle, body, received time; archive/delete actions if visibleRaw ntfy JSON, debug panels, subscribe_auth, server URL
6Settings / AdvancedKeryx appPause/resume, scan new QR, reset labelsTransport configuration, topic list, debug toggles
7SafeCall provisioning (optional)SafeCall admin webFriendly alert-category selection + QR canvas (#keryx-qr-canvas)Production server hostname in chrome, real client names, privileged credentials

Frames 1–6 are required for launch evidence. Frame 7 is recommended when one store slot should show administrator QR provisioning; it may be a cropped SafeCall web panel, not a consumer marketing page.

Align friendly category labels with approved examples in keryx.md: panic button, low battery, sensor threshold, device not seen, installation health — using fictional device names only.

Privacy-safe sample data catalog

All capture must use isolated or fictional data. Never use production SafeCall installations, client QR codes, or live alert feeds.

Deployment fiction

FieldApproved sample (EN)Approved sample (CS)
Deployment / site labelDemo Site NorthDemo lokality Sever
Administrator contextSafeCall administrator test deviceTestovací zařízení správce SafeCall

Friendly category labels (visible in UI)

Internal topic pattern (hidden)Friendly label (EN)Friendly label (CS)
TST000-sosPanic button alertsPoplachové tlačítko
TST000-batteriesLow battery alertsSlabá baterie
TST000-sensorsSensor threshold alertsPrah senzoru
TST000-notseenDevice not seen alertsZařízení neviděno
TST000-healthInstallation health alertsStav instalace

Topic IDs and server URLs exist in config only — they must not appear in ordinary UI or screenshots (see keryx/test/widget_test.dart).

Sample alert messages (Active / Archive / detail)

Use operational wording without MACs, real floor plans, or credentials.

#Title (EN)Body (EN)Title (CS)Body (CS)
A1Panic button alertsDemo panic button pressed at Demo Site NorthPoplachové tlačítkoDemo stisk na Demo lokality Sever
A2Low battery alertsDemo sensor battery below thresholdSlabá baterieDemo baterie senzoru pod prahem
A3Sensor threshold alertsDemo temperature reading outside rangePrah senzoruDemo teplota mimo rozsah
A4Device not seen alertsDemo device has not reported recentlyZařízení neviděnoDemo zařízení dlouho nehlásilo
A5Installation health alertsDemo notification pipeline test succeededStav instalaceDemo test oznámení úspěšný

Timestamps: use a fixed fictional time (e.g. 2026-08-26 10:15) across a set for visual consistency.

QR and transport fiction

FieldApproved valueRule
Mock server URL (config only)https://notify.example/Never visible in screenshots
QR payloadIsolated #123 reviewer QR or non-production mockBlur/replace if URL or token decodable
subscribe_authTest-only credential in isolated envNever visible

Preferred capture source when available: #123 isolated HTTPS ntfy + SafeCall-style reviewer page.

Interim spec validation: local dev build with mock SharedPreferences seeding matching test patterns — not a substitute for #123 before store submission.

Redaction and pre-export QA checklist

Complete before any export leaves the capture workstation. Map to data classification and threat model.

  • [ ] No real client or building names
  • [ ] No MAC addresses, serial numbers, or device IDs from production
  • [ ] No real room, floor, or GPS-style location strings
  • [ ] No ntfy topic names or server URLs in visible UI
  • [ ] No QR codes that decode to production hosts or live credentials
  • [ ] No subscribe_auth, API keys, or debug JSON on screen
  • [ ] No generic ntfy branding as the primary product story
  • [ ] No “guaranteed”, “always on”, “never miss”, emergency dispatch, or medical iconography
  • [ ] Status bar: no personal notifications, carrier name ok, consistent time
  • [ ] No third-party apps or unrelated content in multitasking previews
  • [ ] SafeCall web frame (if used): no logged-in admin username from production
  • [ ] File names and metadata reviewed (some tools embed paths)

If any check fails, re-capture or redact; do not ship the export.

Capture procedure

Environment priority

  1. Preferred: #123 isolated test ntfy + durable reviewer QR page with safe sample categories and messages.
  2. Interim (spec / dev only): local Keryx build with seeded notification store and mock config (notify.example, hidden topics, visible friendly labels).
  3. Never: production SafeCall client data, production QR, or manual topic setup shown as an administrator step.

Tooling

PlatformToolDevice profile
iOS / iPadOSXcode Simulator or physical device on supported OSiPhone 16 Pro Max class; iPad Pro 13-inch (M4)
AndroidAndroid Emulator or physical Google Play-certified devicePhone API 31+; optional tablet API 31+

Example dev paths (interim only):

bash
cd keryx
flutter run
# Seed state via isolated QR scan or test harness; do not photograph production QR.

Status bar and theme hygiene

  • Use full battery and stable time (e.g. 09:41 iOS convention or fixed 10:15).
  • Disable personal notification banners before capture.
  • Launch uses the app default theme (light unless product later standardizes dark).
  • Re-capture all locales if theme or major UI changes.

Export steps

  1. Navigate to each required state with approved sample data loaded.
  2. Run pre-export QA checklist.
  3. Export at exact pixel sizes from the device matrix (simulator screenshot or xcrun simctl io booted screenshot / Android Studio capture).
  4. Name files per Export layout.
  5. Record commit/build ID and capture date in release evidence (#114).

Caption templates

Store consoles may not show captions on all platforms; keep captions in the content packet for design frames and internal review. Tone: supplemental SafeCall administrator companion; align with store listing copy.

English

#Caption
1Scan a SafeCall-generated QR on your own device to connect Keryx for SafeCall.
2Optional: grant camera access to scan your deployment QR securely.
3View supplemental operational alerts on the Active tab.
4Review read alerts in Archive when you are done.
5Open alert details for title, message, and time received.
6Pause, scan a replacement QR, or reset from Settings when needed.
7In SafeCall, select alert categories and generate the administrator QR.

Czech

#Caption
1Naskenujte QR vygenerované SafeCall na vlastním zařízení pro Keryx pro SafeCall.
2Volitelně: povolte fotoaparát pro bezpečný sken QR nasazení.
3Doplňková provozní upozornění na záložce Aktivní.
4Přečtená upozornění v Archivu po vyřízení.
5Detail upozornění se jménem, textem a časem přijetí.
6Pozastavení, nový QR nebo reset v Nastavení podle potřeby.
7Ve SafeCall vyberte kategorie upozornění a vygenerujte QR pro správce.

Feature graphic specification (Google Play)

Required size: 1024 × 500 px, JPG or 24-bit PNG without alpha.

ElementRule
BackgroundSolid #003087 field or clean gradient using approved palette from visual identity
MarkCanonical megaphone icon from keryx/assets/icon/keryx_icon.png; no wordmark baked into icon
Title textKeryx for SafeCall (EN) / Keryx pro SafeCall (CS) — text overlay, not baked into icon
Subordinate lineShort companion phrase, e.g. “SafeCall administrator companion” / “Doplněk pro správce SafeCall”
ProhibitedEmergency siren hero imagery, “100% reliable”, medical crosses, standalone consumer positioning, ntfy logo as hero
Safe areaKeep critical text and mark inside center 90% width; Play may crop edges on some surfaces

Czech variant: separate feature-graphic-cs-1024x500.png when CS listing is enabled.

Optional Apple app preview video: deferred unless submission policy requires it; if added later, use the same sample data and redaction rules.

Export layout, naming, and versioning

Planned repository location (exports not committed in P2-03 Scope A):

keryx/store-assets/
  screenshots/
    {platform}-{locale}-{state}-{width}x{height}.png
  feature-graphic/
    feature-graphic-{locale}-1024x500.png
  README.md

Example names:

  • ios-en-01-onboarding-1320x2868.png
  • ios-cs-03-active-1320x2868.png
  • ipad-en-03-active-2064x2752.png
  • android-en-06-settings-1080x1920.png
  • feature-graphic-en-1024x500.png
TopicRule
Owner / approverThomas Minitsios (P0-05 RACI)
RevisionBump documented date + short note when shots change
SourcesEditable design files (if any) live outside Git or in controlled design storage — not claimed here
Console upload#125 records which revision was pasted

Accessibility and brand QA

  • If marketing frames add text overlays, meet P0-04 contrast guidance (4.5:1 normal text).
  • Captions must remain readable at phone thumbnail size.
  • Show Keryx as a SafeCall companion, not a standalone consumer emergency app.
  • Use approved names from visual identity; do not use lowercase keryx as sole public chrome in frames.
  • Emoji tags (e.g. 🚨) may appear as in app; do not imply guaranteed emergency response.

Compliance cross-check (P1-10)

RuleKit enforcement
Supplemental, not sole alarm channelCaptions and visible alerts use “supplemental” / “demo” framing; no sole-channel visuals
No guaranteed deliveryNo “always on” or “never miss” overlay copy
No medical / emergency productNo medical iconography or dispatch imagery
No Critical Alerts promiseDo not show Critical Alerts UI or copy
SafeCall requiredOnboarding + optional SafeCall frame show QR from SafeCall
No ntfy as administrator productntfy not in user-facing screenshot story
QR ≠ purchaseNo price tags, checkout, or unlock visuals on QR frames

Evidence handoffs

WorkOwner
PNG/JPG export captureLater implementation using this kit + #123
Isolated reviewer QR / test ntfy#123
Czech in-app + provisioning UI#108
Public web pages (if web frame hosted)public-web-pages.md (P2-04); HTTPS deploy
Store console upload#125
Release evidence archive#114
Adaptive icon QA in status barP2-01 megaphone adaptive kit is in source; confirm in live captures

Explicit non-claims

Closing #106 approves this kit specification. It does not:

  • claim screenshot or feature-graphic files are committed or uploaded;
  • claim Figma/Sketch or other editable sources exist;
  • claim Czech UI screenshots were captured;
  • claim #123 reviewer environment is live;
  • claim store listings display final graphics;
  • claim adaptive/monochrome launcher icons pass QA in captures.

Review record

  • Status: approved as the P2-03 privacy-safe store screenshot and preview asset kit specification.
  • Date: 26 August 2026.
  • Approver: Thomas Minitsios under the P0-05 RACI.
  • Depends on: P0-02 locales, P0-04 devices, P1-05 data classification, P1-10 safety claims, P2-01 visual identity, P2-02 store listing copy, keryx-publishing.md.
  • Version: 1.0 (kit date 26 August 2026).