Dokumentacja dla programistów
Prywatność i bezpieczeństwo
Marketplace aplikacjiAplikacje monday.com
Aby uzyskać zgodę na publikację aplikacji w marketplace, musi ona spełniać następujące wymagania dotyczące prywatności i bezpieczeństwa:
- [ ] Wszystkie domeny muszą przejść dostarczony skan Burp. Wszelkie błędy zostaną zgłoszone podczas weryfikacji i należy je usunąć przed uzyskaniem zgody.
- [ ] Przedstaw dowody potwierdzające i opisz, jak aplikacja przechowuje dane poufne. Określ też, czy są one przechowywane w repozytorium kodu (np. klucze AWS w GitHubie).
- [ ] Tokeny muszą być szyfrowane. Przedstaw dowody potwierdzające i opisz, jak aplikacja przechowuje tokeny. Wyjaśnij, jakie zabezpieczenia chronią token dostępu użytkownika monday.com.
- [ ] Przedstaw dowody potwierdzające i poinformuj, czy przechowujesz dane użytkowników w bazie danych aplikacji, jakie dane są przechowywane (np. dane tablicy lub nazwa użytkownika) i w jakim celu. Dane osobowe (PII) należy przechowywać w postaci zaszyfrowanej i uwzględnić w polityce prywatności. Jeśli używasz monday code, zapisuj dane osobowe w bezpiecznym miejscu przechowywania monday.
- [ ] Opisz wszystkie zakresy uprawnień używane przez aplikację, wyjaśnij, dlaczego każdy z nich jest potrzebny i do czego służy. Proś tylko o te zakresy, których aplikacja potrzebuje.
- [ ] Przedstaw dowody potwierdzające i opisz, jakie dane są rejestrowane oraz jak długo przechowujesz logi. Jeśli aplikacja używa monday code, przedstaw dowód, że rejestrowanie przez monday jest włączone.
- [ ] Przedstaw dowody potwierdzające i opisz, jak szyfrujesz dane przechowywane oraz jakich algorytmów szyfrowania używasz. Możesz pominąć ten wymóg, jeśli aplikacja korzysta z monday storage.
- [ ] Przedstaw dowody potwierdzające i opisz, jak aplikacja chroni się przed atakami typu injection (dotyczy tylko aplikacji korzystających z monday storage lub zewnętrznej bazy danych).
- [ ] Przedstaw dowody potwierdzające i opisz, jak aplikacja weryfikuje wszystkie dane wprowadzane przez użytkowników (np. Wszystkie dane są oczyszczane, a kod HTML jest kodowany).
- [ ] Przedstaw dowody potwierdzające, że jesteś właścicielem nazw domen lub masz zgodę ich właściciela:
- Adres e-mail pomocy technicznej musi mieć tę samą domenę.
- Utwórz publiczny plik JSON z następującą zawartością:
{ "apps":[ {"clientID":} ] } - Dodaj plik JSON do swojej domeny i udostępnij go:
https://your_domain/monday-app-association.json - [ ] Gdy monday.com lub użytkownik końcowy cofnie autoryzację, dezaktywuje, odinstaluje lub w inny sposób zakończy działanie aplikacji, musisz wykonać jedną z poniższych czynności (nie dotyczy aplikacji korzystających z monday storage):
- Trwale usunąć wszystkie dane użytkowników końcowych oraz wszelkie metadane zebrane, przesłane, utworzone lub otrzymane przez aplikację w ciągu 10 dni.
- Uzyskać wyraźną, pisemną zgodę użytkownika końcowego na przechowywanie jego danych dłużej niż 10 dni. Zgoda musi być jasna i jednoznaczna (zobacz warunki dla deweloperów).
- [ ] Wypełnij zaawansowany kwestionariusz bezpieczeństwa, który będzie widoczny na stronie aplikacji (opcjonalne, ale zalecane).
- [ ] Upewnij się, że pliki cookie mają atrybut HttpOnly. Jeśli go nie mają, mogą być używane tylko po stronie klienta i nie mogą być częścią procesu uwierzytelniania.
- [ ] Pliki cookie śledzące (i podobne technologie), które śledzą użytkowników poza zakresem aplikacji, muszą być jasno opisane użytkownikom, zgodne z odpowiednimi przepisami dotyczącymi plików cookie i prywatności oraz wymagać zgody użytkownika.
-
[ ] Zaimplementuj jeden z trzech poniższych zabezpieczonych procesów uwierzytelniania i odpowiedz na powiązane pytania:
-
OAuth
- Dlaczego wybrano OAuth zamiast uwierzytelniania bez przekierowań (Seamless Authentication)?
- Czy podczas procesu OAuth lub uzyskiwania tokenu API aplikacja przekierowuje użytkowników do złośliwych adresów URL?
- Czy aplikacja obsługuje proces OAuth dla użytkowników mających wiele kont?
- Uwierzytelnianie bez przekierowań z użyciem shortTermToken dla przepisów integracji
- Czy JWT jest podpisany kluczem tajnym aplikacji, aby potwierdzić, że żądania pochodzą od monday?
- Uwierzytelnianie bez przekierowań z użyciem monday SDK dla widoków
- Jeśli aplikacja ma backend:
- Podaj, gdzie jest hostowany.
- Podaj pełną nazwę domeny (nie może zawierać słowa „monday”, chyba że ma postać „\
for monday”). - Jeśli aplikacja ma frontend:
- Podaj, gdzie jest hostowany (plik ZIP lub własny adres URL).
- Podaj pełną nazwę domeny (nie może zawierać słowa „monday”, chyba że ma postać „\
for monday”). - Podaj używany framework, np. NextJS, Vue lub React.
- [ ] Certyfikaty HTTPS muszą być ważne.
- [ ] Włącz HSTS dla swoich domen. Udostępnij link do SSLab.
- [ ] Aplikacja musi używać protokołu TLS 1.2 lub nowszego do szyfrowania całego ruchu.
- [ ] Przeprowadź skanowanie pod kątem złośliwego oprogramowania dla swojej domeny i subdomeny.
- [ ] Wymień wszystkie domeny i produkty firm zewnętrznych używane przez aplikację po stronie frontendu i backendu oraz wyjaśnij, dlaczego są używane. Informacje te muszą znaleźć się w polityce prywatności.
- [ ] Uwierzytelniaj i autoryzuj wszystkie żądania. Prześlij zrzut ekranu sekcji kodu odpowiedzialnej za autoryzację.
📘 Dołącz do naszej społeczności deweloperów!
Stworzyliśmy społeczność specjalnie dla naszych deweloperów. Możesz w niej przeszukiwać wcześniejsze dyskusje i znajdować rozwiązania, zadawać pytania, poznawać nowe funkcje i aktualizacje oraz wymieniać się wskazówkami z innymi deweloperami. Dołącz do nas! 😎