Wjechało szyfrowanie w SlowTracker
To jest wpis z serii 1 sukces dziennie.
W tej serii publikuję codziennie jeden sukces, który osiągnąłem poprzedniego dnia. To praktyczna implementacja podejścia z książki Show Your Work!
Codziennie zapisuję swoje postępy w SlowTracker – aplikacji do zapisywania sukcesów. Następnego dnia rano wybieram jeden lub kilka i tworzę z nich krótki post.
Wjechało szyfrowanie treści wpisów w SlowTracker!
Ostatni tydzień intensywnie pracowałem nad tematem szyfrowania danych. Temat jest dosyć złożony, o czym pisałem między innymi w kontekście MVP.
Wpisy domyślnie są zawsze prywatne. Jednak niedawno umożliwiłem udostępnianie sukcesów niepublicznie po linku, publicznie w swoim profilu i - niezależnie od tego - udostępnianie sukcesów w wyzwaniach.
Wpisy, które mają być udostępnione, są szyfrowane jednym kluczem, natomiast każdy prywatny wpis jest szyfrowany kluczem prywatnym użytkownika.
Dzięki temu nawet, jeśli ktoś dostałby się do bazy danych czy kopii zapasowych, to nie będzie mógł ich odczytać. Ponadto taki system chroni też przed przypadkowym udostępnieniem wpisów, które powinny pozostać prywatne.
Nie obyło się bez problemów. Mechanizm jest dość skomplikowany, bo musi automatycznie zmieniać klucze szyfrujące w zależności od kilku różnych warunków. Jednak na szczęście zacząłem wdrażanie tego od testów automatycznych (blisko 20 scenariuszy), więc problemy wychwytywałem i naprawiałem błyskawicznie.