Ustawienia bezpieczeństwa
Na stronie Bezpieczeństwo znajdziesz klucze API organizacji i wszystko, co chroni twój klucz publiczny przed nadużyciami.

Kto może korzystać z tej strony
Dział zatytułowany „Kto może korzystać z tej strony”| Rola | Dostęp |
|---|---|
| Właściciel, Administrator | Widzi i zmienia wszystko. |
| Programista | Tylko do odczytu: widzi klucze i ustawienia, ale nie ma żadnych przycisków, a pola są nieaktywne. |
| Obserwator, Płatności | Brak dostępu – strona pokazuje komunikat, że ich rola na to nie pozwala. |
Zapisywanie zmian
Dział zatytułowany „Zapisywanie zmian”Akcje na kluczach – Zmień klucz, Nowy klucz prywatny i Unieważnij – działają od razu po potwierdzeniu.
Klucze Turnstile w karcie Ochrona przed botami (Turnstile) zapisujesz osobnym przyciskiem karty Zapisz klucze.
Wszystkie pozostałe ustawienia na stronie (dozwolone domeny, przełączniki ochrony przed
nadużyciami, aplikacje mobilne, lista blokad, limit żądań na IP, dozwolone domeny linków, e-maile na
odbiorcę i wybór na wypadek braku kredytów) są tylko szkicem, dopóki nie klikniesz Zapisz
w prawym górnym rogu. Przycisk jest aktywny tylko wtedy, gdy coś się zmieniło. Każde zapisanie
trafia do dziennika zdarzeń jako security.updated.
Klucz publiczny
Dział zatytułowany „Klucz publiczny”Karta Klucz publiczny pokazuje twój klucz pk_… z przyciskiem kopiowania. To klucz, który
umieszczasz na swojej stronie – można go bezpiecznie opublikować, bo żądania z nim są sprawdzane
pod kątem dozwolonych domen, CAPTCHA i rate limitów. Zobacz
Klucze publiczne i prywatne.
Jak zmienić klucz publiczny
Dział zatytułowany „Jak zmienić klucz publiczny”Zmień go, gdy mimo pozostałych zabezpieczeń widzisz nadużycia.
- Kliknij Zmień klucz.
- Potwierdź przyciskiem Zmień klucz w oknie Zmienić klucz publiczny?.
- Skopiuj nowy klucz i wdróż go na swojej stronie.
Stary klucz działa jeszcze przez 24 godziny. Do tego czasu karta pokazuje, który poprzedni
klucz nadal działa i do kiedy. Potem żądania ze starym kluczem kończą się błędem
invalid_public_key.
Klucze prywatne
Dział zatytułowany „Klucze prywatne”Klucze prywatne są tylko dla serwerów – Node SDK, cURL, twojego backendu. Tabela pokazuje dla każdego klucza Nazwa z datą utworzenia, cztery ostatnie znaki w kolumnie Klucz i kiedy był Ostatnio użyty (Nigdy, jeśli jeszcze nie był).
Organizacja może mieć maksymalnie 20 aktywnych kluczy prywatnych.
Jak utworzyć klucz prywatny
Dział zatytułowany „Jak utworzyć klucz prywatny”- Kliknij Nowy klucz prywatny.
- Wpisz Nazwa, po której poznasz, gdzie go używasz, np. „Backend produkcyjny”, i kliknij Utwórz.
- Okno Twój nowy klucz prywatny pokazuje pełny klucz. Skopiuj go od razu i zapisz w sekretach serwera albo w menedżerze haseł.
- Kliknij Zapisałem(-am) go w bezpiecznym miejscu.
Jak unieważnić klucz prywatny
Dział zatytułowany „Jak unieważnić klucz prywatny”- Kliknij Unieważnij w wierszu klucza.
- Potwierdź przyciskiem Unieważnij w oknie dialogowym.
Unieważnienie działa natychmiast – żądania z tym kluczem są od razu odrzucane z błędem
invalid_private_key. Żeby wymienić klucz bez
przestoju, najpierw utwórz nowy klucz, wdróż go, sprawdź, że Ostatnio użyty przy starym
kluczu przestał się zmieniać, i dopiero wtedy unieważnij stary.
Dozwolone domeny
Dział zatytułowany „Dozwolone domeny”Z twoim kluczem publicznym mogą wysyłać tylko domeny wymienione w karcie Dozwolone domeny.
Frontmail porównuje je z nagłówkiem Origin wysyłanym przez przeglądarkę. Szczegóły znajdziesz
w artykule Dozwolone domeny.
Obsługiwane formaty:
| Wpis | Pasuje do |
|---|---|
example.com |
Dokładnie tej domeny. |
*.example.com |
Dowolnej subdomeny example.com. |
localhost:3000 |
Hosta z konkretnym portem – przydatne przy lokalnym developmencie. |
Jeśli wkleisz pełny adres, np. https://example.com/kontakt, panel zostawi z niego tylko hosta.
Jak dodać dozwoloną domenę
Dział zatytułowany „Jak dodać dozwoloną domenę”- Wpisz domenę w polu Dodaj domenę.
- Kliknij Dodaj (albo naciśnij Enter). Domena pojawi się jako etykieta nad polem.
- Kliknij Zapisz.
Żeby usunąć domenę, kliknij × w jej etykiecie, a potem Zapisz.
Ochrona przed botami (Turnstile)
Dział zatytułowany „Ochrona przed botami (Turnstile)”Ta karta przechowuje własne klucze Cloudflare Turnstile twojej
organizacji. Szablony z włączoną opcją Wymagaj CAPTCHA (Turnstile) przyjmują żądania z twoich
stron tylko z tokenem Turnstile, a Frontmail weryfikuje te tokeny kluczem tajnym zapisanym tutaj.
Bez kluczy żądania ze stron do takich szablonów kończą się błędem
captcha_not_configured.
Dlaczego własne klucze: darmowy plan Cloudflare pozwala na tylko 10 nazw hostów na widżet, więc jeden klucz Frontmail nie obejmie stron wszystkich klientów. Twój widżet jest darmowy i działa tylko na twoich hostach.
Jak dodać klucze Turnstile
Dział zatytułowany „Jak dodać klucze Turnstile”- W panelu Cloudflare otwórz Turnstile → Add widget,
nadaj mu nazwę, dodaj nazwy hostów swojej strony (np.
example.com,www.example.com;localhosttylko do testów), zostaw tryb Managed i kliknij Create. - Skopiuj Site Key i Secret Key.
- Wróć na stronę Bezpieczeństwo, wklej oba klucze w karcie Ochrona przed botami (Turnstile) i kliknij Zapisz klucze.
- Kliknij Włącz CAPTCHA we wszystkich szablonach, żeby jednym kliknięciem włączyć ją we wszystkich istniejących szablonach. Szablony używane jako automatyczna odpowiedź są pomijane.
Przy zapisie Frontmail najpierw sprawdza klucz tajny w Cloudflare – błędny klucz zostanie odrzucony
z czytelnym komunikatem i nic nie zostanie zapisane. Klucze zapisują się od razu (przycisk
Zapisz całej strony nie jest potrzebny) i trafiają do dziennika zdarzeń
jako security.turnstile.updated; włączenie CAPTCHA we wszystkich szablonach jest rejestrowane jako
template.captcha_enabled.
- Klucz tajny można tylko zapisać: jest przechowywany w postaci zaszyfrowanej i nigdy więcej
nie jest wyświetlany – karta pokazuje tylko klucz witryny i od kiedy klucze są skonfigurowane.
Żeby je zmienić, kliknij Zastąp klucze i wklej nowe; żeby przestać ich używać, kliknij
Usuń klucze i potwierdź pytanie Usunąć klucze Turnstile? (
security.turnstile.removed). Szablony zachowują ustawienie CAPTCHA, więc po usunięciu kluczy żądania ze stron do nich będą kończyć się błędem, dopóki znów nie dodasz kluczy. - Gdy klucze są zapisane, nowe szablony mają CAPTCHA włączoną domyślnie. Szablony utworzone wcześniej zachowują swoje ustawienie.
- Karta Kod w edytorze szablonu zawiera wtedy widżet z twoim kluczem witryny.
- Do lokalnego developmentu możesz użyć kluczy testowych Cloudflare – nigdy w produkcji.
Aplikacje mobilne zbudowane z @frontmail/react-native nie
potrzebują tych kluczy – używają wspólnego klucza mobilnego Frontmail.
Ochrona przed nadużyciami
Dział zatytułowany „Ochrona przed nadużyciami”To, czy szablon wymaga CAPTCHA Turnstile, ustawiasz osobno dla każdego szablonu w edytorze, a nie tutaj – zobacz Turnstile. Karta Ochrona przed nadużyciami ma cztery przełączniki:
| Przełącznik | Co robi |
|---|---|
| Blokuj przeglądarki headless | Odrzuca żądania z kluczem publicznym z automatycznych przeglądarek, takich jak Puppeteer. Domyślnie wyłączony. Zobacz Ochrona przed botami. |
| Ścisłe parametry | Odrzuca żądania z parametrami, których nie ma w schemacie szablonu, zamiast je ignorować. Domyślnie wyłączony. |
| Zezwól na API z kluczem prywatnym | Pozwala twoim serwerom wysyłać kluczem prywatnym, przy którym sprawdzanie domeny jest pomijane. Domyślnie włączony. Wyłącz go, jeśli wysyłasz tylko z przeglądarek – żądania z kluczem prywatnym będą wtedy odrzucane z błędem 403 forbidden. |
| Zezwól na klucze prywatne w przeglądarkach | Przyjmuje żądania z kluczem prywatnym wysłane ze strony internetowej (z nagłówkiem Origin). Domyślnie wyłączony – takie żądania są odrzucane z błędem 403 private_key_in_browser, bo każdy odwiedzający stronę mógłby skopiować klucz. Włączaj go tylko dla narzędzi wewnętrznych; po włączeniu pojawi się ostrzeżenie. Zobacz Klucze. |
Po zmianie przełącznika pamiętaj, żeby kliknąć Zapisz.
Aplikacje mobilne
Dział zatytułowany „Aplikacje mobilne”Aplikacje natywne (React Native, Flutter, Swift, Kotlin) nie wysyłają nagłówka Origin, więc ich
żądania – jak każde żądanie z kluczem publicznym bez Origin i Referer – są odrzucane z błędem
403 origin_not_allowed, nawet jeśli nie ustawiono
żadnych dozwolonych domen. Karta Aplikacje mobilne ma jeden przełącznik, Zezwól na
aplikacje mobilne (domyślnie wyłączony). Gdy jest włączony, żądania z kluczem publicznym bez
nagłówka Origin i Referer są przyjmowane, a ich CAPTCHA jest weryfikowana wspólnym kluczem
mobilnym Frontmail. Żądania ze stron nadal są sprawdzane z listą. Szczegóły znajdziesz w części
Dozwolone domeny → Aplikacje mobilne.
Jak zezwolić na aplikacje mobilne
Dział zatytułowany „Jak zezwolić na aplikacje mobilne”- Włącz Zezwól na aplikacje mobilne.
- Przeczytaj ostrzeżenie, które pojawi się pod przełącznikiem.
- Kliknij Zapisz.
Lista blokad
Dział zatytułowany „Lista blokad”Lista blokad zatrzymuje znanych spamerów, zanim ich żądania zużyją jakiekolwiek kredyty.
- Zablokowane wartości – jedna w linii: adresy e-mail, domeny (
spam.examplealbo@spam.example) lub dokładne wartości parametrów. - Sprawdzany parametr – parametr porównywany z listą oprócz odbiorców, np.
emailz adresem odwiedzającego w formularzu kontaktowym.
Pasujące żądania kończą się błędem recipient_blocked.
Więcej w części Ochrona przed botami → Lista blokad.
Limit żądań na IP
Dział zatytułowany „Limit żądań na IP”Limit żądań na IP określa, jak często jeden odwiedzający może wysyłać twoje formularze
z kluczem publicznym. Ustaw Żądania (1–1000) i Na (sekund) (1–86 400); zdanie pod polami
podsumowuje wynik. Domyślnie to 10 żądań na 60 sekund. Żądania ponad limit dostają
429 rate_limited i nie zużywają kredytów. Żądania z kluczem prywatnym nie są limitowane na IP –
zobacz Rate limity.
Dozwolone domeny linków
Dział zatytułowany „Dozwolone domeny linków”Gdy szablon bierze odbiorcę z parametrów i jest wysyłany kluczem publicznym – oraz w każdej
automatycznej odpowiedzi – linki w e-mailu mogą prowadzić tylko do
domen, którym ufasz. Linki wpisane bezpośrednio w szablonie i twoje dozwolone domeny są zawsze
dozwolone; inne domeny dodaj w Dozwolone domeny linków, jedną w linii: example.com (dokładnie
ten host) albo *.example.com (tylko subdomeny). Nieprawidłowe linie są oznaczane i blokują
Zapisz. Żądania z linkiem gdzie indziej kończą się błędem
link_not_allowed. Zobacz
Dozwolone linki i blokada treści.
E-maile na odbiorcę dziennie (1–1000, domyślnie 5) ogranicza, ile e-maili z dynamicznym
odbiorcą (klucz publiczny) i automatycznych odpowiedzi może dostać jeden adres dziennie (UTC).
Ponad limit żądania kończą się błędem 429 rate_limited (details.scope: "recipient")
i automatyczna odpowiedź nie jest tworzona.
Gdy skończą się kredyty
Dział zatytułowany „Gdy skończą się kredyty”Ta karta decyduje, co dzieje się z nowymi e-mailami, gdy organizacji zabraknie kredytów:
| Opcja | Działanie |
|---|---|
| Wstrzymuj e-maile (Zalecane, domyślnie) | E-maile są przyjmowane i czekają we Wstrzymanych wiadomościach. Zostaną wysłane automatycznie, gdy dodasz kredyty. |
| Odrzucaj żądania | API odpowiada 402 insufficient_credits i nic nie jest zapisywane – to twoja strona decyduje, co powiedzieć odwiedzającemu. |
Wybierz opcję i kliknij Zapisz. Pełny obraz, w tym to, jak zwalniane są wstrzymane e-maile, znajdziesz w artykule Kolejka wstrzymanych wiadomości.