MS-M
  • React Native
  • Szyfrowanie danych
  • iCloud
  • Google Drive
  • Push Notyfikacje
  • Bezpieczeństwo

Cyfrowy sejf z planem awaryjnym na wypadek najgorszego

Co się stanie z Twoimi hasłami, dokumentami i ważnymi danymi, jeśli nagle zabraknie Cię na świecie? Klient przyszedł z pomysłem na aplikację, która rozwiązuje ten problem w sposób przemyślany i bezpieczny. Cyfrowy sejf z szyfrowaniem opartym na dwóch składnikach, zintegrowany z chmurą Apple i Google, z unikalnym systemem powiadomień, który potrafi wykryć, że coś złego mogło się przydarzyć użytkownikowi – i automatycznie przekazać dostęp wskazanym bliskim. Odpowiadałem za całą warstwę mobilną: React Native, szyfrowanie, integracje z chmurą i implementację widoków z Figmy.

  • 2-SKszyfrowaniehasło użytkownika + hash z serwera
  • iOS + Androidplatformyjedna baza kodu w React Native
  • 3 akcjepróg alertubrak reakcji = uruchomienie protokołu awaryjnego
  • iCloud / GDriveintegracje chmurynatywna synchronizacja z ekosystemem Apple i Google

Dane, których nikt nie przekaże po Twojej śmierci

Większość z nas przechowuje dziesiątki haseł, numerów kont, kopii dokumentów i innych wrażliwych danych – rozproszonych po menedżerach haseł, notatkach, mailach. Kiedy nagle kogoś brakuje, bliscy zostają bez dostępu do niczego. Albo – co gorsze – dane trafiają w niepowołane ręce.

Klient potrzebował aplikacji, która nie tylko przechowuje dane w bezpieczny sposób, ale ma wbudowany mechanizm przekazania ich wskazanym osobom w sytuacji kryzysowej – bez angażowania notariusza, prawnika ani jakiejkolwiek trzeciej strony. Całość miała działać autonomicznie, być prosta w obsłudze i zapewniać najwyższy poziom szyfrowania.

Co zbudowałem i jak to działa

  1. Szyfrowanie oparte na dwóch składnikach

    Dane użytkownika są szyfrowane z użyciem dwóch niezależnych elementów: hasła wprowadzanego przez użytkownika oraz hashu generowanego po stronie serwera. Żaden z tych składników sam w sobie nie wystarczy do odszyfrowania danych. Nawet w przypadku wycieku z serwera – bez hasła użytkownika dane pozostają bezużyteczne. Zaimplementowałem tę logikę po stronie aplikacji mobilnej, dbając o to, żeby klucze nigdy nie były przechowywane w sposób, który mógłby je skompromitować.

    Szyfrowanie oparte na dwóch składnikach
  2. Sejf z kategoriami życiowymi

    Notatki w aplikacji są zorganizowane w kategorie odpowiadające realnym obszarom życia: hasła do banków, ubezpieczenia, dokumenty, dane do logowania, instrukcje dla bliskich i inne. Użytkownik wie, gdzie szukać konkretnej informacji, a cała struktura jest zaprojektowana tak, żeby była zrozumiała nie tylko dla właściciela, ale też dla osoby, która może pewnego dnia odblokować sejf.

    Sejf z kategoriami życiowymi
  3. System push notyfikacji jako sygnał życia

    Co kilka dni lub tygodni – w zależności od ustawień – aplikacja wysyła push notyfikację z prostym pytaniem: czy wszystko w porządku? Jedno kliknięcie potwierdza, że użytkownik żyje i ma się dobrze. Jeśli przez trzy kolejne powiadomienia nie ma żadnej reakcji, aplikacja przechodzi do kolejnego etapu protokołu awaryjnego.

    System push notyfikacji jako sygnał życia
  4. Protokół awaryjny – powiadomienie znajomych

    Gdy użytkownik nie reaguje na trzy kolejne push notyfikacje, system automatycznie wysyła e-mail do zaufanych znajomych dodanych wcześniej w aplikacji. Wiadomość zawiera prośbę o kontakt i sprawdzenie, czy dana osoba ma się dobrze. To pierwsza linia weryfikacji – zanim uruchowi się procedura przekazania danych.

    Protokół awaryjny – powiadomienie znajomych
  5. Przekazanie danych osobie zaufanej

    Jeśli kontakt ze znajomymi nie przynosi efektu lub użytkownik wcześniej tak skonfigurował aplikację, system wysyła e-mail do wskazanej osoby zaufanej – najczęściej członka rodziny. Wiadomość informuje, że w aplikacji istnieje zaszyfrowana notatka przeznaczona dla tej osoby, wraz z instrukcją odzyskania dostępu. W ten sposób dane trafiają dokładnie tam, gdzie miały trafić – bez pośredników, bez opóźnień.

    Przekazanie danych osobie zaufanej
  6. Integracja z iCloud i Google Drive

    Zaszyfrowane dane są synchronizowane z chmurą właściwą dla danego ekosystemu – iCloud dla użytkowników Apple, Google Drive dla Androida. Użytkownik nie musi myśleć o backupach ani zarządzaniu kopią zapasową. Zaimplementowałem obie integracje od zera, uwzględniając specyfikę każdej platformy i dbając o spójność doświadczenia niezależnie od systemu operacyjnego.

    Integracja z iCloud i Google Drive
  7. Implementacja widoków z Figmy

    Całą warstwę wizualną przełożyłem z projektu Figma na działające ekrany w React Native – piksel po pikselu, z pełną responsywnością i spójnością na iOS i Androidzie. Zadbałem o to, żeby aplikacja wyglądała i działała jak premium produkt, bo zaufanie do takiego narzędzia buduje się też przez interfejs.

Co zostało dostarczone

Aplikacja łączy ze sobą trzy rzeczy, które rzadko idą w parze: najwyższy poziom bezpieczeństwa danych, intuicyjny interfejs i automatyczny protokół awaryjny działający bez udziału człowieka.

  • Działająca aplikacja na iOS i Android z jednej bazy kodu w React Native
  • Szyfrowanie end-to-end oparte na dwuskładnikowym kluczu (hasło użytkownika + hash serwera)
  • Natywna integracja z iCloud i Google Drive
  • Automatyczny protokół awaryjny: push → e-mail do znajomych → e-mail do osoby zaufanej
  • Pełna implementacja widoków z projektu Figma
  • Komunikacja z backendem przez REST API

Technologie

  • React Native
  • TypeScript
  • iCloud API
  • Google Drive API
  • REST API
  • Push Notifications (FCM / APNs)
  • End-to-End Encryption
  • Figma

Chcesz zacząć projekt?

Porozmawiajmy

Napisz do mnie