Jak technicznie chronione są dane w Sidekick i gdzie fizycznie przetwarzane jest to, co opuszcza telefon. To inżynierski opis architektury dla osób, które chcą wiedzieć „jak to jest zrobione”, nie tylko „co wolno nam robić”.
Sidekick jest projektowany tak, żeby domyślnie działać w całości offline. Pracownicy, nagrania, transkrypcje, notatki, zadania, wydarzenia kalendarza i urlopy są przechowywane wyłącznie lokalnie, w zaszyfrowanej bazie danych na telefonie managera — nie trafiają na żaden nasz serwer, chyba że manager świadomie włączy konkretną funkcję opartą o chmurę (opisane w sekcji 4). Aplikacja nie wymaga zakładania konta ani podawania e-maila czy numeru telefonu.
| Co | Jak |
|---|---|
| Baza danych (metadane, transkrypcje, notatki, zadania, dane pracowników) | Szyfrowana w całości przez SQLCipher (AES-256). Klucz to losowe 256 bitów wygenerowane lokalnie przy pierwszym uruchomieniu, przechowywane w EncryptedSharedPreferences zabezpieczonym kluczem sprzętowym z Android Keystore. Manager nigdy nie widzi ani nie wpisuje tego klucza. |
| Pliki audio nagrań | Każdy plik szyfrowany osobno, AES-256-GCM, kluczem programowym generowanym losowo per plik i „zawijanym” (envelope encryption) kluczem sprzętowym z Android Keystore — sam klucz sprzętowy nigdy nie opuszcza bezpiecznego elementu urządzenia. |
| PIN / wzór blokady aplikacji | Nie jest przechowywany w postaci jawnej — zapisywany jako skrót SHA-256 z solą unikalną per instalacja. |
Opcjonalnie manager może zabezpieczyć samą aplikację kodem PIN, wzorem lub odciskiem palca/twarzą (biometria systemowa Androida). Po ustawieniu blokady aplikacja automatycznie się blokuje przy przejściu w tło, więc odłożony telefon nie daje dostępu do danych osobie postronnej.
Podstawowe funkcje (nagrywanie, lokalna transkrypcja, notatki, zadania, kalendarz) działają w 100% offline i nigdy nie wysyłają treści nigdzie. Do chmury trafia treść wyłącznie wtedy, gdy manager świadomie włączy funkcję opartą o AI w chmurze (podsumowania spotkań, wykrywanie zadań, transkrypcja chmurowa, „zapytaj AI”, przygotowanie do spotkania) — dostępną w wariantach Premium/Pro. Wariant Free korzysta z lokalnego, ekstrakcyjnego odpowiednika tych funkcji, bez wysyłania czegokolwiek.
Gdy manager włączy funkcje chmurowe, istnieją dwie ścieżki, zależnie od ustawień:
W obu ścieżkach treść podlega dalej polityce prywatności danego dostawcy AI (Mistral AI, Google Gemini, ElevenLabs) — warto się z nimi zapoznać, jeśli przetwarzasz w notatkach dane szczególnie wrażliwe. Żaden z tych dostawców nie jest przez nas wybierany domyślnie bez wiedzy managera — wybór dostawcy i samo włączenie chmury są zawsze jawną decyzją w Ustawieniach.
Nasz serwer (Cloud Run + baza Supabase) przechowuje wyłącznie dane techniczne, powiązane z anonimowym identyfikatorem instalacji (losowy UUID generowany na telefonie — nie jest to identyfikator reklamowy ani żadne dane osobowe w rozumieniu imienia/e-maila):
treść nagrań, transkrypcji, notatek, zadań, danych pracowników ani imię/e-mail managera — tych pól nasza baza w ogóle nie ma.
Każde połączenie sieciowe aplikacji — z naszym serwerem, jak i bezpośrednio z dostawcami AI przy własnym kluczu API — odbywa się wyłącznie przez HTTPS/TLS. Połączenie serwera z bazą Supabase również jest szyfrowane TLS.
| Komponent | Dostawca | Region |
|---|---|---|
| Serwer aplikacji (proxy do AI, weryfikacja zakupów) | Google Cloud Run | europe-central2 — Warszawa, Polska |
| Baza danych statystyk/zakupów | Supabase (PostgreSQL) | Region UE (Frankfurt) |
Poniższe informacje dotyczą standardowego dostępu przez klucz API (tak jak korzysta z nich nasz serwer proxy) i mogą się różnić w zależności od konkretnego planu/konta — stan na sierpień 2026, sprawdzony w oficjalnej dokumentacji dostawców.
| Dostawca | Do czego służy | Lokalizacja przetwarzania | Zatrzymywanie danych |
|---|---|---|---|
| Google Gemini | Podsumowania, wykrywanie zadań, „zapytaj AI” (jedna z dwóch opcji obok Mistral AI) | Standardowe Gemini API (ten sam typ dostępu co nasz klucz) nie gwarantuje przetwarzania w UE — działa w trybie globalnym, bez przypięcia do regionu. Gwarancję lokalizacji w UE daje wyłącznie Vertex AI z jawnym „pinowaniem” regionu (osobna, firmowa usługa Google Cloud), z której tu nie korzystamy. | Na płatnym poziomie API Google deklaruje, że nie wykorzystuje treści zapytań/odpowiedzi do trenowania swoich modeli, ale loguje je do ok. 55 dni wyłącznie w celu wykrywania nadużyć. Na darmowym poziomie (Google AI Studio bez płatności) Google może wykorzystywać treść do rozwoju swoich usług — dlatego korzystamy z klucza na poziomie płatnym. |
| ElevenLabs (Scribe) | Transkrypcja mowy na tekst | Standardowo (poza kontem Enterprise) dane są przetwarzane i finalnie przechowywane w USA, niezależnie od lokalizacji użytkownika — ElevenLabs ma też infrastrukturę w UE i Singapurze, ale gwarancja przetwarzania wyłącznie w UE to płatna opcja dostępna jedynie w planie Enterprise, z którego tu nie korzystamy. | ElevenLabs oferuje opcjonalny „Zero Retention Mode” (brak zatrzymywania treści na serwerach) — to również funkcja wymagająca osobnej konfiguracji na poziomie konta, nie domyślny stan dla zwykłego klucza API. |
Dane lokalne na telefonie manager kasuje samodzielnie w Ustawieniach („Wyczyść dane”) — w pełni offline, natychmiastowo. Dane techniczne opisane w sekcji 5, przechowywane na naszym serwerze, można usunąć przyciskiem „Usuń dane z serwera” w Ustawieniach albo zgłoszeniem na stronie Prośba o usunięcie danych (też bez dostępu do aplikacji).