Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Status ProteGO Safe App v.4.2 #201

Closed
MateuszRomanow opened this issue Jun 13, 2020 · 23 comments
Closed

Status ProteGO Safe App v.4.2 #201

MateuszRomanow opened this issue Jun 13, 2020 · 23 comments
Labels
design documentation Improvements or additions to documentation help wanted Extra attention is needed

Comments

@MateuszRomanow
Copy link
Contributor

MateuszRomanow commented Jun 13, 2020

Cześć,
przesyłam podsumowanie dyskutowanej w minionym tygodniu wersji 4.2 czyli działającej z PWA offline.
Harmonogram:
12.06 - wprowadziliśmy ostatnią aktualizację w PWA Android; od tego dnia PWA androidowe jest zamrożone. Zastąpi je PLA (Progressive Local App - termin stworzony roboczo przez @bartosztomczak ).
16-19.06 (mamy nadzieję) - ukaże się iOS 4.1 z również z zamrożonym PWA (nie będzie tam wprowadzanych zmian).
17-19.06 - opublikujemy na GH kod wersji 4.2 na Android i iOS z PLA; równoległe start: testów bezpieczeństwa (Securitum, Seqred). Audytu opublikujemy po testach i poprawkach na GitHubie.
19-22.06 - przy zielonej ścieżce zakładamy review finalnej wersji 4.2 app Android i iOS w Google Play i App Store.

Dodatkowo:

  • rozmawiamy z G&A na poziomie inżynierów, ale także Ministerstwo Cyfryzacji rozmawia bezpośrednio formalną ścieżką Status ProteGO Safe App v.4.1 #189
  • każde kolejne wydanie będzie wymagało pobrania w 100% ze sklepów; co oznacza, że np. zmiany w regulaminie czy polityce prywatności będą odbywały się iteracyjnie, czyli będą ważne dla konkretnej wersji aplikacji.

Ważny temat do dyskusji i podjęcia wspólnej decyzji:

  • Przejście z PWA na PLA spowoduje usunięcie historii Testów Oceny Ryzyka i Dziennika Zdrowia na urządzeniu użytkownika. Na dzień dzisiejszy mamy ponad 120.000 pobrań aplikacji a te funkcjonalności są istotne dla istotnej części użytkowników*. Dlatego mamy takie możliwości:
    a) Przy aktualizacji do wersji 4.2 użytkownik dobrowolnie decyduje, czy chce zmigrować swoje dane z wersji 4.1. Jeżeli zdecyduje, że nie - utraci dane ale nie będzie się jednorazowo łączył z internetem. Jeżeli zdecyduje, że tak - będzie to wymagało jednorazowego połączenia z internetem po stronie PLA w celu synchronizacji tych danych z PWA do PLA). Z punktu widzenia dobrowolności, którą jest fundamentem tej aplikacji, to rozwiązanie wydaje się najlepsze
    b) Wypracujemy inne rozwiązanie, które pozwoli zmigrować te dane w inny sposób
    c) Wszyscy użytkownicy utracą historię swoich danych aktualizując się do 4.2

@thecodersio rozpisz proszę dokładnie, jak może wyglądać scenariusz opisany w "a)"

cc: @potiuk @tomekziel @kwiszowaty @pkleczko @bartosztomczak @qLb @lukasz-szyszkowski
Wszystkie dobre pomysły mile widziane.

  • skąd to wiemy? 1) statystyka re-używalności w aplikacji SafeSafe, która miała te funkcjonalności jako pilot była na poziomie 80% na grupie 50.000 użytkowników 2) około 20-25% wiadomości dotyczących funkcjonalności aplikacji od początku premiery ProteGO Safe odnosi się do tych funkcjonalności 3) te funkcje są ważne z perspektywy użytkowników będących w grupie wysokiego ryzyka ( 50-65 lat ale też najwyższej grupy 65 lat i więcej), którzy w jednym miejscu monitorują objawy.
@MateuszRomanow MateuszRomanow added documentation Improvements or additions to documentation design labels Jun 13, 2020
@arthurkowalsky
Copy link

Co do rozwiązania dobrowolnej migracji:

  1. Użytkownik aktualizujący aplikację do najnowszej wersji otrzymuje komunikat z pytaniem o to czy nie zechciałby przenieść swoich danych z poprzedniej wersji aplikacji do najnowszej (dobrowolne ale wymaga dostępu do internetu);
  2. Odpowiadając NIE - przenosimy go do ekranu rozpoczynającego;
  3. Odpowiadając TAK:
  • aplikacja ładuje w tle webview z adresem poprzedniej wersji (https://safesafe.app | https://v4.safesafe.app)
  • po załadowaniu w/w webview, wyciąga dane z local storage wywołując z poziomu aplikacji natywnej prostą komendę JS i zapisuje te dane do zmiennej
  • następnie ładuje na główny ekran aplikacji webview z wersją lokalną (offline) i wstrzykuje do local storage wcześniej pobrane dane (podobnie wykonując prostą komendę JS)
  • mechanizm jest jednorazowy

@SeraMoon
Copy link

SeraMoon commented Jun 13, 2020

@MateuszRomanow

każde kolejne wydanie będzie wymagało pobrania w 100% ze sklepów; co oznacza, że np. zmiany w regulaminie czy polityce prywatności będą odbywały się iteracyjnie, czyli będą ważne dla konkretnej wersji aplikacji.

Mogę prosić o dogłębne wyjaśnienie? Czy aplikacja po pobraniu wyświetli regulamin (do czasu jego akceptacji), gdy była poprzednia wersja innego regulaminu zaakceptowana? Jak to się zachowa przy włączonych automatycznych aktualizacjach? Proszę o szczegóły.

Przejście z PWA na PLA spowoduje usunięcie historii Testów Oceny Ryzyka i Dziennika Zdrowia na urządzeniu użytkownika

Dlaczego, czy nie są one lokalnie przechowywane i nie da się ich przekonwertować?

Jeżeli zdecyduje, że tak - będzie to wymagało jednorazowego połączenia z internetem po stronie PLC PLA w celu synchronizacji tych danych z PWA do PLA).

Jak to będzie zrealizowane (proszę o wyjaśnienie znaczenia słowa PLC - to które znam prawdopodobnie nie ma nic wspólnego z tym projektem) i jak zostanie zagwarantowane, że nie zostanie ujawnione IP użytkownika ani nie dojdzie do sytuacji, że możliwe będzie podmienienie czegoś w aplikacji?

b) Wypracujemy inne rozwiązanie, które pozwoli zmigrować te dane w inny sposób

Proponuję konwersję danych. Skoro były przechowywane na urządzeniu (tak zapewniał regulamin i polityka prywatności) - nie trzeba się łączyć z internetem aby to przekonwertować. Wystarczy zwykły konwerter, podobnie jak Thunderbird potrafi skonwertować pliki MS Outlooka i wyświetlić maile, które były utworzone w innym programie pocztowym.

Jeżeli jest to niemożliwe, proszę podać powody, dla których to nastąpiło. Co uniemożliwia przekonwertowanie lokalnych danych?

  1. statystyka re-używalności w aplikacji SafeSafe, która miała te funkcjonalności jako pilot była na poziomie 80% na grupie 50.000 użytkowników

Statystyka jest wątpliwa, gdy mowa jest o safesafe.app ponieważ sama tam założyłam z 10 kont testując swoje objawy i potem czyszcząc zawartość przeglądarki. Swoją drogą, dlaczego nadal po rozpoczęciu testu zdrowia (i tuż przed) wysyłane są nadal JSONy na serwer? Przecież obsługę cookies, local storage i obsługę ankiet da się napisać w ES2015...

[Edit]
W związku z wyjaśnieniem, że PLC było literówką (niełatwą do wywnioskowania po układzie klawiatury) - wycofałam pytanie o PLC i poprawiłam post.

@SeraMoon
Copy link

SeraMoon commented Jun 13, 2020

Odpowiadając NIE - przenosimy go do ekranu rozpoczynającego;
Odpowiadając TAK:
aplikacja ładuje w tle webview z adresem poprzedniej wersji (https://safesafe.app | https://v4.safesafe.app)
po załadowaniu w/w webview, wyciąga dane z local storage wywołując z poziomu aplikacji natywnej prostą komendę JS i zapisuje te dane do zmiennej

Apeluję, żeby użytkownik w tym pytaniu był poinformowany jawnie, że nastąpi połączenie ze stroną v4.safesafe.app i czy wyraża zgodę na przesłanie swojego IP. Informacja ta należy się użytkownikowi REDACTED.

mechanizm jest jednorazowy

Po wykonaniu tego kroku aplikacja powinna dla bezpieczeństwa zakończyć się i uruchomić ponownie.

@qLb

This comment has been minimized.

@SeraMoon

This comment has been minimized.

@kwiszowaty
Copy link

@MateuszRomanow dzięki za szczegółowy plan, trzymam kciuki i będę obserwował jego dotrzymanie!

Czytając pismo wysłane do G+A przypomniała mi się stara prawda ludowa: chcesz "odhaczyć" problem - wyślij maila, chcesz rozwiązać problem - zadzwoń. I mam nadzieję, że tutaj zarówno Wy (zespół programistów) jak i MC będziecie ciągle "dzwonić" by G+A o tym nie zapomniało. Myślę, że o pewne rzeczy trzeba będzie powalczyć (pytanie o otwartość kodu EN było bardzo pasywne, a pytanie uszczegóławiające z góry zakładało porażkę). Tutaj @potiuk w którymś z poprzednich wątków proponował wsparcie swoim doświadczeniem w takich sprawach.

  • każde kolejne wydanie będzie wymagało pobrania w 100% ze sklepów; co oznacza, że np. zmiany w regulaminie czy polityce prywatności będą odbywały się iteracyjnie, czyli będą ważne dla konkretnej wersji aplikacji.

To jest jak najbardziej zrozumiałe.

Co do strategii przejścia z PWA do PLA jak dla mnie najbardziej sensowny wydaje się punkt a). Jeżeli te dane są dla kogoś ważne, to nie widzę sensu by go zniechęcać ich utratą.
Natomiast wydaje mi się, że sensowne są też uwagi @SeraMoon by dokładniej poinformować użytkownika co, jak i dlaczego się dzieje (dla użytkownika ważne jest, że zachowa swoje dane i później nie będzie potrzebował już internetu do działania aplikacji; można wspomnieć z jakich serwerów zostaną one przeniesione i że od teraz będą przechowywane tylko na jego telefonie).
Restart aplikacji, by uruchomiła się już wyłącznie z zasobów lokalnych, po pełnej migracji, też wydaje się być dobrym pomysłem.

@SeraMoon
Copy link

SeraMoon commented Jun 14, 2020

@MateuszRomanow, to zapytam jeszcze o kwestię pytania o "Jak masz na imię | Imię" versus "Podaj nazwę użytkownika | Nazwa" oraz o pytanie o płeć osoby transseksualne i interseksualne. Czy rozwiązania tej prostej kwestii doczekamy się w wersji 4.2? W przypadku imienia jest to zmiana kilku tekstów w odpowiednich miejscach. W przypadku płci - dodanie trzeciej opcji lub usunięcie tego pytania w zależności, czy wytyczne WHO biorą to pod uwagę i uwzględniają gdziekolwiek w ocenach wykonywanych przez apkę. Jeżeli pole płci jest brane pod uwagę tylko odnośnie tego jak się zwracać do użytkownika - znów jest to kwestia jedynie zmiany napisów - nie pytać o płeć a o rodzaj gramatyczny - męski lub żeński.

Temat bowiem dotyczy zarówno wersji Android jak i Web a nie wiem czy właściwe jest zakładanie 2 takich samych tematów w dwóch miejscach na issues.

@MateuszRomanow, czekamy na dialog z twojej strony.

@kwiszowaty
Copy link

Hej @MateuszRomanow! jak tam progres? Czy wszystko idzie zgodnie z planem? Jakiś kodzik będzie dziś?

@MateuszRomanow
Copy link
Contributor Author

@kwiszowaty zespoły przygotowują buildy, dzisiaj w nocy wszystko z PWA offline w 4.2 powinno wjechać na public repo!

@SeraMoon
Copy link

SeraMoon commented Jun 18, 2020

@MateuszRomanow zadałam pytanie i mnie ignorujesz - ponownie zapraszam do dialogu - czy ten "kodzik" będzie miał uwzględnione 2 powyższe rzeczy o których pisałam 3 posty wyżej?

Dlaczego łącznik Ministerstwa Cyfryzacji ignoruje zapytania obywateli? Wciąż czekam na dialog, który nie nastąpił.

@MateuszRomanow
Copy link
Contributor Author

Jeżeli pytasz o imię i płeć, to odpowiadam, w 4.2 niestety tego jeszcze nie będzie. Na tą chwilę nie mamy (jeszcze/niestety) komfortu robienia wszystkiego co chcemy. Skupiamy się na tym co musimy wykonać w pierwszej kolejności.

W backlogu jest grubo ponad 100 zadań, w tym także te poruszone przez Ciebie.

@SeraMoon
Copy link

SeraMoon commented Jun 18, 2020

@MateuszRomanow w której wersji więc możemy się spodziewać pytania o nazwę użytkownika zamiast o imię? Jest to - przypominam - niezgodne z założeniami a czas pracy, żeby zmienić teksty jest na prawdę niewielki.

Podobnie jeżeli płeć nie jest uwzględniana przy ocenach ryzyka - pracy jest tak samo mało. Dlaczego nie chcecie wypuścić wersji, która będzie zgodna z założeniami?

W której wersji możemy się spodziewać tej poprawki - do zgodności z założeniami oraz do przyjazności osobom LGBT, których (dotyczy części tych ludzi) płeć jest niezgodna z identyfikacją płciową?

Na stronach kontaktowych wielu zagranicznych szanujących się firm - nie bez powodu pytają o "title" (tytuł), oraz dają do wyboru "Mr." (Pan) oraz "Ms. / Mrs." (Pani, Panna), dając też pozostawić puste. Nie zadają pytania "Sex: male / female"

@KoderFPV
Copy link
Contributor

@MateuszRomanow
Copy link
Contributor Author

MateuszRomanow commented Jun 19, 2020

@MateuszRomanow w której wersji więc możemy się spodziewać pytania o nazwę użytkownika zamiast o imię? Jest to - przypominam - niezgodne z założeniami a czas pracy, żeby zmienić teksty jest na prawdę niewielki.

edit: już w obecnej wersji aplikacji czyli 4.1 pytamy o pseudonim / nickname i jest to pole opcjonalne.

Odpowiemy na to pytanie po:

  1. Produkcyjnym wydaniu wersji 4.2
  2. Zrobieniu review backlogu przez zespół developerski i Ministerstwo Cyfryzacji
  3. Ustaleniu zakresów do dalszych działań / opiera się w dużej mierze na alizie wszystkich komentarzy, które się pojawiają /
  4. Wszystkie powyższe kroki powinny zostać wykonane do najpóźniej pierwszej połowy lipca.

ps ze względu na privacy aplikacja nie będzie zbierała informacji o płci, dojdą prawdopodobnie tylko końcówki.

@kwiszowaty
Copy link

hej @MateuszRomanow !
Czy macie już raporty z audytów bezpieczeństwa wersji 4.2? Chętnie byśmy je przejrzeli.

W GooglePlay nadal widzę 4.1.1. Rozumiem, że bez poprawek z audytu nie wypuścicie 4.2.x?
Czy możesz uaktualnić plan?

@MateuszRomanow
Copy link
Contributor Author

Przesyłam aktualizację:

  1. Tak, czekaliśmy z wypuszczeniem 4.2 bez audytu. Natomiast jesteśmy już po, w 4.2 nie było żadnych krytycznych, ważnych ani średnich podatności. Aplikacja posiada kilka niskich, które nie są do wyeliminowania by design tego rozwiązania (czyli np. utrudnianie i tak bardzo skomplikowanego usability aplikacji przez nakładanie kolejnych warstw). Jesteśmy w trakcie wyjaśniania ostatnich kwestii i będziemy publikować.
  2. 4.2 jest już w review Google i będzie opublikowane jak tylko je przejdzie. Tym samym wersja 4.1 zostanie zablokowana (użytkownik będzie proszony o zaktualizowanie do 4.2)
  3. Po tym będziemy i my i Ministerstwo Cyfryzacji reorganizować się z kolejnymi zadaniami.
  4. Zdecydowanie kluczowym obszarem następnego działania będzie interoperacyjność. Apple zaprezentowało swój pomysł, Niemcy (u których aplikacja bliźniacza do ProteGO Safe została pobrana 14MLN razy w ciągu 10 dni (!)) również proponują swój standard w ramach EN. Dużo się tu dzieje. Czyste R&D. Teraz w tym obszarze będziemy się bardziej aktywizować.

@SeraMoon
Copy link

SeraMoon commented Jun 25, 2020

Przesyłam aktualizację:

  1. Tak, czekaliśmy z wypuszczeniem 4.2 bez audytu. Natomiast jesteśmy już po, w 4.2 nie było żadnych krytycznych, ważnych ani średnich podatności. Aplikacja posiada kilka niskich, które nie są do wyeliminowania by design tego rozwiązania (czyli np. utrudnianie i tak bardzo skomplikowanego usability aplikacji przez nakładanie kolejnych warstw). Jesteśmy w trakcie wyjaśniania ostatnich kwestii i będziemy publikować.

@MateuszRomanow (lub @KtosKtoWie), gdzie mogę zapoznać się z pełną treścią tego audytu? Powinien być publiczny.

czyli np. utrudnianie i tak bardzo skomplikowanego usability aplikacji przez nakładanie kolejnych warstw

Czyli są do wyeliminowania.

@KoderFPV
Copy link
Contributor

4.2.0 dostępne w sklepie play :)

@potiuk
Copy link

potiuk commented Jun 25, 2020

Czekamy na publiczne wyniki audytu !

@SeraMoon
Copy link

@Tarvald

Podobnie jak @potiuk czekam na publiczne wyniki audytu. Przy braku ich publikacji można przyjąć, że audytu nie było, skoro to jest open source.

Publiczne wyniki pozwolą określić:

  • rzeczywisty charakter poszczególnych baboli (czy rzeczywiście podatność jest niska),
  • które rzeczywiście wymagają pilnej poprawy,
  • co właściwie przetestowano podczas audytu, a jakich testów nie wykonano (konkretne aspekty prywatności? bezpieczeństwa?),
  • ocena pokrycia testami możliwych scenariuszy (z wglądem do kodu) w części otwartej aplikacji,
  • organoleptyczną 😉 ocenę na ile da się dany problem eskalować w celu przejęcia kontroli nad urządzeniem.

To przykre, że w cenie 2 milionów złotych nie przewidziano publikacji audytu, usunięcia baboli i ponownemu poddaniu audytowi, tak aby ostatni audyt nie wykrywał podatności lub wykrywał tylko takie, które nie powodują przejęcia kontroli nad urządzeniem (samo-zhakowanie sobie aplikacji i tak nie przyniesie użytkownikowi korzyści, skoro i tak może zmodyfikować dane na urządzeniu w inny sposób, gorzej, gdy wyjdzie, że da się to zrobić zdalnie lub wyjdzie, że standardowymi kliknięciami dojdzie do utraty danych w aplikacji wbrew temu co chciał zrobić użytkownik).

W związku z powyższym proszę o pełną kopię dokumentów audytowych i wyników oraz wyniki przeprowadzonych testów.

@MateuszRomanow
Copy link
Contributor Author

Czekamy na publiczne wyniki audytu !

My też czekamy na ich opracowanie. Jak tylko będzie - publikujemy

@SeraMoon
Copy link

Yyyyy, czy o wykonanym audycie i oficjalnych wynikach nie mówi się dopiero gdy powstanie podpisany dokument? Bez takiego dokumentu wrzucacie aplikację do Play?

@KoderFPV
Copy link
Contributor

KoderFPV commented Jul 2, 2020

Dostałem info że opracowanie audytów powstanie w ciągu kilku najbliższych dni.
Zostanie wrzucona informacja tutaj #209 jak i w kilku innych wątkach dotyczących audytów.

Wersja aplikacji 4.2 znajduje się w google play oraz na iOS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design documentation Improvements or additions to documentation help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

7 participants