Appearance
Keryx public web pages publication packet
Approved: 26 August 2026
This document is the P2-04 publication packet for Keryx for SafeCall public HTTPS surfaces: product/install landing, privacy, terms, and support pages.
It does not claim that pages are deployed, that {public_base} resolves, that DNS/TLS is configured, that counsel reviewed live HTML, that Czech public pages are published, that store consoles contain working URLs, or that in-app About links are wired.
Purpose and non-goals
Purpose
- Approve the URL map, landing copy (English + Czech), deployment specification, monitoring/change-control rules, accessibility requirements, and pre-publish checklists for all required public Keryx web surfaces.
- Align public pages with P0–P2 identity, listing copy, safety claims, and P1-06 legal drafts without creating a standalone acquisition funnel.
- Assign handoffs for live deploy, Czech HTML, reviewer hosting, and store verification.
Non-goals
- Adding pages to
website/(repo root) or any production host in this item. - Configuring DNS, TLS certificates, or uptime monitoring.
- Obtaining counsel sign-off or replacing DRAFT status on legal texts.
- Publishing Czech localized HTML (#108).
- Wiring Keryx Settings/About URLs in the app binary.
- Pasting URLs into App Store Connect or Play Console (#125).
- Building the reviewer QR environment (#123).
Approved URL map
All paths are under {public_base}, the sourcectl-controlled public HTTPS host recorded in controlled organization/release evidence (#114). Do not invent hostnames in this repository.
| Public path | Purpose | Content source |
|---|---|---|
{public_base}/keryx | Product + install landing | This packet (EN/CS landing blocks) + install draft |
{public_base}/keryx/privacy | Privacy policy | legal/privacy.md |
{public_base}/keryx/terms | Terms / EULA | legal/terms.md |
{public_base}/keryx/support | Support commitments | legal/support.md |
Optional future path (not part of this close; #123 owns implementation):
| Path | Purpose |
|---|---|
{public_base}/keryx/review or controlled equivalent | Durable Apple/Google reviewer QR and test instructions |
Store metadata must use the same path suffixes as store listing copy once live.
Placeholders (controlled records only)
| Slot | Use |
|---|---|
{public_base} | Canonical HTTPS origin for all Keryx public pages |
{app_store_url} | Czech App Store listing for com.sourcectl.keryxapp |
{play_store_url} | Czech Google Play listing for com.sourcectl.keryx |
{support_email} | Monitored SafeCall support mailbox |
{support_phone} | Monitored support or EU trader phone where required |
Product and install landing copy
Paste-ready summary for {public_base}/keryx. Detailed steps: legal/install.md.
English
text
Page title: Keryx for SafeCall
Lead:
Keryx for SafeCall is a free mobile companion for administrators of a separately
contracted SafeCall physical or building deployment. Downloading Keryx does not
buy or provide SafeCall. Keryx is not a standalone consumer product.
Who it is for:
- SafeCall administrators and operators aged 18+
- Organizations with an active SafeCall installation that can generate a Keryx QR code
What you need:
- iPhone or iPad with iOS 17 or later, or Android 12 (API 31) or later on a Google Play-certified device
- Camera and notification permissions
- A SafeCall-generated QR code from your deployment
How setup works:
1. In SafeCall, select the alert categories you want on your phone.
2. Generate the Keryx QR code.
3. Install Keryx from the store links below.
4. Scan the QR on your own device and verify a test notification.
The QR configures connectivity and selected categories. It is not a payment,
subscription, license, or paid digital-content unlock.
Get the app:
- Download on the App Store: {app_store_url}
- Get it on Google Play: {play_store_url}
Availability: Czech Republic (Business category; administrator audience).
Important limitations:
- Keryx notifications are supplemental. They are not a substitute for on-site
emergency procedures, phone or radio escalation, or SafeCall monitoring.
- Alert delivery is not guaranteed (Focus/DND, permissions, network, and device limits apply).
- Keryx is not a medical device and does not use Apple Critical Alerts at launch.
Your organization must keep non-Keryx operational paths (SafeCall admin UI,
phone/radio, site procedures).
Support:
Support uses the existing SafeCall support channel during Czech business hours
(Monday–Friday, CET/CEST). See {public_base}/keryx/support
Legal:
- Privacy policy: {public_base}/keryx/privacy
- Terms of use: {public_base}/keryx/terms
- Support commitments: {public_base}/keryx/support
Publisher: sourcectl · Copyright © 2026 sourcectlCzech
text
Název stránky: Keryx pro SafeCall
Úvod:
Keryx pro SafeCall je bezplatný mobilní doplněk pro správce samostatně smluvního
fyzického nebo budového nasazení SafeCall. Stažení Keryx nezakoupí ani neposkytne
SafeCall. Keryx není samostatný spotřebitelský produkt.
Pro koho je určen:
- Správci a operátoři SafeCall ve věku 18+
- Organizace s aktivní instalací SafeCall, která umí vygenerovat QR pro Keryx
Co potřebujete:
- iPhone nebo iPad s iOS 17 nebo novějším, nebo Android 12 (API 31) nebo novější na certifikovaném zařízení Google Play
- Oprávnění fotoaparátu a upozornění
- QR kód z vašeho nasazení SafeCall
Jak probíhá nastavení:
1. Ve SafeCall vyberte kategorie upozornění pro telefon.
2. Vygenerujte QR kód pro Keryx.
3. Nainstalujte Keryx z odkazů níže.
4. Naskenujte QR na vlastním zařízení a ověřte testovací upozornění.
QR nastaví konektivitu a vybrané kategorie. Není to platba, předplatné, licence
ani odemknutí placeného digitálního obsahu.
Stáhnout aplikaci:
- Stáhnout v App Store: {app_store_url}
- Získat na Google Play: {play_store_url}
Dostupnost: Česká republika (kategorie Business; publikum správců).
Důležitá omezení:
- Upozornění Keryx jsou doplňková. Nenahrazují místní nouzové postupy,
telefonickou eskalaci ani monitoring SafeCall.
- Doručení upozornění není garantováno (režimy soustředění, oprávnění, síť a limity zařízení).
- Keryx není zdravotnický prostředek a při uvedení nepoužívá Apple Critical Alerts.
Organizace musí zachovat provozní cesty mimo Keryx.
Podpora:
Podpora probíhá stávajícím kanálem SafeCall v pracovní dny v ČR. Viz
{public_base}/keryx/support
Právní informace:
- Zásady ochrany osobních údajů: {public_base}/keryx/privacy
- Podmínky použití: {public_base}/keryx/terms
- Závazky podpory: {public_base}/keryx/support
Vydavatel: sourcectl · Copyright © 2026 sourcectlBleuVista website relationship
| Rule | Detail |
|---|---|
| Publisher | Public Keryx pages identify sourcectl as publisher, not BleuVista |
| Product hierarchy | Wantok → SafeCall → Keryx for SafeCall companion (visual identity) |
website/ | BleuVista marketing site; does not currently explain Keryx or SafeCall companion positioning |
| No standalone funnel | Keryx pages must not include consumer lead forms, pricing, demo requests, or self-service SafeCall signup |
| AlertHub / BleuVista | Do not present AlertHub or BleuVista as the owner or parent of Keryx |
| Cross-linking | Optional minimal footer link between BleuVista corporate site and Keryx install page only if product owner approves; default is no BleuVista primary navigation to Keryx |
Deployment may extend website/ with a /keryx/* section or use a separate sourcectl host. Either way, Keryx pages remain administrator/companion surfaces, not BleuVista solution marketing.
Deployment specification (procedure only)
Execute during implementation; not part of P2-04 Scope A.
Host options
| Option | Notes |
|---|---|
A — Extend website/ VitePress | Add static routes under /keryx/; reuse build/deploy pipeline if host matches {public_base} |
| B — Separate sourcectl static site | Independent repo or folder; same URL paths if {public_base} differs from BleuVista |
Record the chosen option and {public_base} in #114 release evidence before store submission.
Technical requirements
- HTTPS only with valid public TLS; HTTP redirects to HTTPS
- No authentication gate on privacy, terms, support, or install pages
- Canonical URLs without session IDs; stable paths across deploys
- Trailing slash: pick one policy (prefer no trailing slash) and enforce in server config
- Language:
lang="en"/lang="cs"on root element per locale; hreflang when both locales are live (#108) - Template: semantic headings (h1 product name, h2 sections); sourcectl footer; Keryx mark accent
#003087/#FFFFFF(visual identity) - Legal pages: render from approved markdown source or equivalent static HTML matching legal/ at publish time
- Robots: allow indexing of public legal/install pages; no staging hosts in store metadata
Content sync
When legal/ or safety claims change materially, update public HTML before the next store submission. Bump a documented page revision date in release evidence.
Monitoring, ownership, and change review
| Topic | Rule |
|---|---|
| Owner / approver | Thomas Minitsios (P0-05 RACI) |
| Reachability | After deploy, verify all four paths return HTTP 200 over HTTPS at least quarterly and after any deploy |
| Broken support URL | SafeCall support channel monitors {public_base}/keryx/support per support draft |
| Material changes | Privacy/data flows, support class, safety claims, or URL paths require draft update + owner approval before republish |
| Counsel | Legal pages remain DRAFT until explicit counsel review; do not remove DRAFT banners in git until counsel gate passes |
| Incident | If pages serve wrong content or leak credentials, take down or fix within same business day when reported through SafeCall |
Accessibility requirements (public pages)
Apply P0-04 public-surface baseline at live deploy (full app a11y evidence remains #116):
- Logical heading order and page title
- Sufficient color contrast for body text and links (4.5:1 normal text target)
- Visible focus indicators for interactive elements
- Descriptive link text (not “click here” alone)
langattribute matches page locale- Store badge images include appropriate alt text
- Support contact information reachable without mouse-only gestures where feasible
Verify with automated scan + manual keyboard pass before marking deploy complete.
Pre-publish verification checklist
Complete before pasting URLs into store consoles or enabling in-app links:
- [ ]
{public_base}/keryxreturns 200 over HTTPS without login - [ ]
{public_base}/keryx/privacyreturns 200 over HTTPS without login - [ ]
{public_base}/keryx/termsreturns 200 over HTTPS without login - [ ]
{public_base}/keryx/supportreturns 200 over HTTPS without login - [ ] Privacy/terms/support HTML matches approved legal/ source (no placeholder lorem)
- [ ] Landing copy matches this packet and install draft
- [ ] No invented or unverified email, phone, or social URLs
- [ ]
{app_store_url}and{play_store_url}match #114 controlled records - [ ] Store listing copy URLs in store-listing-copy.md match live paths
- [ ] No BleuVista/AlertHub ownership claims; sourcectl publisher visible
- [ ] No prohibited safety/marketing claims (guaranteed delivery, emergency dispatch, medical device)
- [ ] Czech locale published or explicitly deferred with roadmap risk acceptance (#108)
- [ ] Accessibility spot-check completed
Compliance cross-check (P1-10)
| Rule | Public page enforcement |
|---|---|
| Supplemental companion | Landing lead and limitations sections |
| SafeCall required | Prerequisites and setup sections |
| Free; QR ≠ purchase | Lead and setup copy |
| No guaranteed delivery | Limitations sections |
| No medical / Critical Alerts | Limitations sections |
| No standalone consumer product | Audience + BleuVista rules |
| Support not 24/7 emergency desk | Support section + support draft link |
Privacy disclosures must stay consistent with data classification and privacy draft.
Evidence handoffs
| Work | Owner |
|---|---|
| Live HTTPS deploy + DNS/TLS | Later implementation / #114 host record |
| Czech public HTML | #108 |
| Reviewer QR host path | #123 |
| Store console URL paste + verify | #125 |
| In-app privacy/support links | App implementation after URLs live |
| Apple / Play privacy URL fields | #100 / #101 with #125 |
Explicit non-claims
Closing #107 approves this publication packet. It does not:
- claim
{public_base}URLs resolve on the public internet; - claim
website/or any host was updated; - claim counsel reviewed or signed off on live pages;
- claim Czech public HTML is published;
- claim store metadata or in-app links use live URLs;
- claim EU trader contact values in Apple/Google accounts are verified;
- replace P1-06 DRAFT status on legal texts until counsel and deploy gates pass.
Review record
- Status: approved as the P2-04 public web pages publication packet.
- Date: 26 August 2026.
- Approver: Thomas Minitsios under the P0-05 RACI.
- Depends on: P1-06 legal/, P2-01 visual identity, P2-02 store listing copy, P1-10 safety claims, P0-03 commercial narrative, keryx-publishing.md.
- Version: 1.0 (packet date 26 August 2026).