# Mobile Store Release Guide — Android / iOS

## Co zawiera paczka

- niezależną aplikację React Native / Expo w `mobile_app/`;
- serwerowe API `/api/mobile/v1`;
- rejestr urządzeń i sesji;
- governance powiadomień push;
- konfigurację EAS;
- ikony i materiały aplikacji;
- kontrakt `docs/OPENAPI_MOBILE_V1.yaml`.

## Czego nie zawiera

- podpisanego AAB/APK;
- podpisanego IPA;
- kont Google Play / Apple Developer;
- certyfikatów i profili provisioning;
- kluczy APNs, Firebase, VAPID ani EAS;
- produkcyjnego `.env`.

## Android

1. Utwórz konto Google Play Developer należące do podmiotu klinicznego.
2. Utwórz projekt Firebase i skonfiguruj FCM.
3. Uzupełnij bezpieczne sekrety EAS.
4. Ustal finalny package identifier.
5. Wykonaj `npm ci`, `npm run typecheck`, test urządzeniowy i `eas build --platform android`.
6. Przeprowadź Internal Testing, Closed Testing i dopiero potem Production.
7. Uzupełnij Data Safety, politykę prywatności i procedurę usunięcia konta.

## iOS

1. Utwórz konto Apple Developer należące do podmiotu klinicznego.
2. Skonfiguruj Bundle ID, App ID, APNs i profile podpisujące.
3. Wykonaj `eas build --platform ios`.
4. Przeprowadź TestFlight Internal/External Testing.
5. Uzupełnij App Privacy, eksport kryptografii, Medical disclaimer i Support URL.

## Bezpieczeństwo kliniczne

- powiadomienia push nie mogą zawierać PHI;
- ekran blokady pokazuje wyłącznie neutralny komunikat;
- pełne dane są pobierane po uwierzytelnieniu;
- mobile nie wykonuje offline clinical writes;
- utrata urządzenia wymaga unieważnienia sesji i tokenu push;
- publikację do sklepów poprzedzają UAT, privacy review i mobile penetration test.
