Přeskočit na obsah

Public key a private key

Každá organizace má jeden public key (veřejný klíč) a až 20 aktivních private keys (privátních klíčů). Najdete je na stránce Zabezpečení v částech Veřejný klíč a Privátní klíče. Vidí je vlastník, admini a vývojáři; vytvářet, zneplatňovat a vyměňovat je můžou jen vlastník a admini.

Public key Private key
Formát pk_… sk_…
Tajný? Ne – je vidět ve zdrojovém kódu stránky Ano – jako heslo
Kde použít Prohlížeče, mobilní aplikace, statické weby Servery, serverless funkce, CI
Jak poslat v těle jako user_id nebo v hlavičce X-Frontmail-Public-Key v hlavičce Authorization: Bearer sk_… nebo v těle jako accessToken
Kontrola domény ✓ musí odpovídat povoleným doménám; bez Origin jen s Povolit mobilní aplikace hlavička Origin se odmítne (private_key_in_browser), pokud to nepovolíte
Turnstile ✓ pokud ho šablona vyžaduje přeskakuje se
Rate limity na organizaci, na IP adresu, na klíč na organizaci, na klíč
Endpointy send, send-form, uploads, messages/:id (se status tokenem) všechny, včetně send-batch, history, templates

Public key jen identifikuje vaši organizaci. Kdokoli si ho může z vašeho webu zkopírovat, a proto se u požadavků s ním kontroluje doména, signály botů a rychlost – a proto šablony nemohou používat dynamické příjemce, pokud to výslovně nepovolíte. Klient s public key si může přečíst stav jen svých vlastních zpráv, a to pomocí status_token, který vrací send (posílá se v hlavičce X-Frontmail-Status-Token).

Private keys obcházejí kontroly určené pro prohlížeč, takže se do prohlížeče nikdy nesmí dostat. Typické použití: odesílání z vašeho backendu, Node SDK, hromadné odesílání, čtení historie a npx frontmail types.

  • Vytvoříte ho tlačítkem Nový privátní klíč. Zobrazí se jen jednou – zkopírujte ho a potvrďte Mám ho bezpečně uložený. Frontmail ukládá pouze jeho hash a poslední čtyři znaky.
  • Každý klíč pojmenujte (např. „Produkční backend“, „CI“), abyste věděli, kde se používá – sloupec Naposledy použit ukazuje, kdy byl který klíč naposledy použit.
  • Přepínačem Povolit API s privátním klíčem (Zabezpečení → Ochrana proti zneužití) můžete přístup s private key pro celou organizaci úplně vypnout, pokud odesíláte jen z prohlížečů; požadavky s private key pak selžou s 403 forbidden.
  • Požadavky s private key, které nesou hlavičku Origin – tedy přicházejí z webové stránky –, selžou s 403 private_key_in_browser. Platí to i pro pole accessToken v těle (kompatibilita s EmailJS) a pro čtecí endpointy. Servery Origin neposílají, takže serverového kódu se to netýká. Jen pokud private key v prohlížeči opravdu potřebujete (interní administrační nástroj, nikdy veřejná stránka), zapněte Povolit privátní klíč v prohlížeči (Zabezpečení → Ochrana proti zneužití, ve výchozím stavu vypnuto).

Private keys: vytvořte nový klíč, nasaďte ho na své servery, ověřte, že se u starého klíče přestal měnit údaj Naposledy použit, a pak starý klíč zneplatněte tlačítkem Zneplatnit. Zneplatnění platí okamžitě; požadavky se zneplatněným klíčem selžou s chybou invalid_private_key.

Public key: v části Veřejný klíč klikněte na Vyměnit klíč. Nový klíč dostanete okamžitě; starý ještě 24 hodin funguje (přechodné období), abyste stihli znovu nasadit web, a pak začne selhávat s chybou invalid_public_key. Public key vyměňte, když i přes povolené domény a Turnstile zaznamenáte zneužití, nebo když přesouváte aplikaci do jiné organizace.

Vytvoření, zneplatnění i výměna klíčů se zaznamenávají do audit logu.