---
title: "Jak bezpečně poslat klientovi podpisový klíč webhooku"
url: https://uselinkpilot.com/cs/blog/how-to-send-a-webhook-signing-secret-to-a-client-securely
description: "Předejte klientovi podpisový klíč webhooku bez kopií v e-mailu a tiketech: ověřte příjemce, pošlete jednorázový odkaz, uložte klíč správně a při úniku ho vyměňte."
lang: cs
---

Bezpečnost (https://uselinkpilot.com/cs/blog/category/security)

# Jak bezpečně poslat klientovi podpisový klíč webhooku

Předejte klientovi podpisový klíč webhooku bez kopií v e-mailu a tiketech: ověřte příjemce, pošlete jednorázový odkaz, uložte klíč správně a při úniku ho vyměňte.

LinkPilot Team (https://uselinkpilot.com/cs/author/linkpilot-team) · Lidé, kteří vyvíjejí a provozují LinkPilot ve společnosti TetraCore, LLC 25. října 2026 · O LinkPilotu (https://uselinkpilot.com/cs/about)

Podpisový klíč webhooku je přihlašovací údaj, ne detail nastavení. Posílejte ho stejně jako heslo: ověřte si, kdo ho dostane, předejte ho kanálem, který si nenechává kopie, a dohlédněte, aby skončil ve správci důvěrných údajů, a ne v tiketu. Ve zkratce: jednorázový tajný odkaz (https://uselinkpilot.com/cs/tools/free-secret-link-generator) poslaný ověřenému kontaktu a instrukce k nastavení zvlášť.

Zbytek návodu popisuje volbu kanálu, kontroly před odesláním, co má klient s hodnotou udělat a jak zvládnout rotaci a řešení potíží, aniž byste klíč museli kamkoli vkládat znovu.

## Kterým kanálem klíč poslat?

Kanál vybírejte podle dvou otázek: dokážete ověřit, kdo ho může otevřít, a kolik kopií po něm zůstane? E-mail a chat neprojdou tou druhou, protože každá zpráva se uchovává, synchronizuje a exportuje ještě dlouho po skončení předání.

| Způsob | Co vám dává | Co zkontrolovat před odesláním |
| --- | --- | --- |
| Klientský portál s přihlášením | Přístup pro konkrétní osobu, který lze odebrat | Účet patří správnému kontaktu |
| Jednorázový tajný odkaz | Zničí se po prvním otevření, ve zprávě nic nezůstane | Adresu, na kterou ho posíláte, ověřenou zvlášť |
| Šifrovaná komunikace | Ochrana při přenosu | Kdo další může konverzaci otevřít |

**Klientský portál s individuálními účty** je dobrá první volba, pokud existuje. Přístup dejte konkrétní osobě, ne sdílenému projektovému vláknu, a po dokončení předání ho odeberte.

**Jednorázový odkaz** drží přihlašovací údaj mimo e-mail nebo chatovou zprávu, kterou předání domlouváte. V LinkPilotu se tajná zpráva zašifruje ve vašem prohlížeči ještě před uložením, uložená kopie se po jednom otevření zničí a platnost odkazu můžete nastavit na hodinu, den nebo týden. Tarif Pro přidává heslovou frázi, kterou předáte jiným kanálem. Tato nastavení omezují předání. Nenahrazují ale kontrolu, že na druhé straně je správný člověk.

**Šifrovaná komunikace** je záloha pro případ, kdy nejde použít portál ani jednorázový odkaz. Šifrování při přenosu nespraví špatně adresovanou zprávu ani příliš širokou skupinu, takže kontrola příjemce je tu ještě důležitější.

Ať zvolíte cokoli, nešifrovaný e-mail a chat používejte jen k domluvě. I u služeb, které šifrují přenos, nemáte pod kontrolou uchovávání, zálohy ani přístup k účtům.

## Ověřte klienta i příjemce

Bezpečný kanál nepomůže, když klíč skončí ve špatné e-mailové schránce. Před odesláním si ověřte, že ten, kdo o klíč žádá, za integraci odpovídá a že cesta, kterou chcete použít, opravdu patří jemu.

- **Ověřte totožnost podle známého záznamu.** Použijte důvěryhodný kontakt, existující obchodní vztah nebo zavedený postup klienta. Nový žadatel, náhlá změna kontaktu nebo nezvyklý spěch si zaslouží nezávislé ověření.
- **Přečtěte adresu znak po znaku,** zvlášť když ji kopírujete z tiketu nebo nedávné zprávy. Chyby vznikají u podobných jmen a sdílených schránek.
- **Zkontrolujte, kdo další má přístup.** Než klíč nasdílíte přes portál nebo pracovní prostor, projděte seznam členů a odeberte každého, kdo přihlašovací údaj nepotřebuje.
- **Doručení potvrďte druhým kanálem.** Pokud odkaz šel e-mailem, zeptejte se na známém telefonním čísle nebo v obvyklém projektovém kanálu, zda přístup fungoval. Klíč do té zprávy nevkládejte.

Klíč sdílejte s jedním člověkem, který bude endpoint nastavovat, a nechte ho, ať ho uloží do klientova vlastního úložiště důvěrných údajů. Pokud ho potřebuje víc vývojářů, o tom, kdo ho uvidí, mají rozhodovat přístupová práva v tomto úložišti, ne samostatné kopie pro každého z nich.

## Připravte klíč před předáním

Rozhodněte, k čemu přihlašovací údaj patří, kde ho má klient uchovávat a jak dlouho má předání zůstat otevřené. Pozdější rotace a řešení potíží pak budou mnohem přehlednější.

- **Jeden klíč na klienta nebo endpoint.** Při opakovaném použití zasáhne jeden únik každou integraci se stejnou hodnotou a výměna u jednoho klienta naruší všechny. Interně si veďte, ke kterému endpointu který klíč patří, ale hodnotu do projektových poznámek nekopírujte.
- **Vlastní kopii uložte do správce důvěrných údajů.** Ne do lokálního textového souboru, tiketu ani sdíleného dokumentu. Stejná pravidla platí pro sdílení klíčů API (https://uselinkpilot.com/cs/blog/how-to-share-api-keys-securely): omezte, kdo se k přihlašovacímu údaji dostane, a předání udržte krátké.
- **Nastavte lhůtu pro vyzvednutí.** Dejte klientovi dost času na vyzvednutí hodnoty a dokončení nastavení, ale ne víc. Většině předání stačí odkaz, který se po jednom otevření zničí a jehož platnost vyprší za den. Pokud lhůta uplyne, vytvořte nový, místo abyste znovu otevírali starý.
- **Instrukce k nastavení pošlete zvlášť.** Adresa URL endpointu, hlavička s podpisem a postup ověření patří do dokumentace klienta nebo do projektového kanálu. Když jsou oddělené od klíče, zkopírovaná stránka s instrukcemi neznamená zároveň zkopírovaný přihlašovací údaj.

## Pomozte klientovi klíč bezpečně uložit a používat

Doručení nekončí tím, že klient hodnotu přečte. Končí, až ji server bezpečně načte a ověřuje s ní podpisy příchozích požadavků.

- **Uložte ho do správce důvěrných údajů nebo chráněné proměnné prostředí,** kterou může číst serverový proces, s přístupem omezeným na aplikaci a lidi, kteří ji provozují.
- **Nedávejte ho do zdrojového kódu, logů ani obsahu webhooků.** Klíč slouží k výpočtu nebo ověření podpisu. Nikdy necestuje v těle požadavku a nemá se objevit v ladicím výstupu, repozitářích ani tiketech podpory. Než zapnete podrobnou diagnostiku, zkontrolujte, co zachytávají vaše nástroje pro nasazení.
- **Podpisy ověřujte na serveru.** Příjemce spočítá podpis znovu ze surového těla požadavku a sdíleného klíče a porovná ho s hlavičkou, kterou nastavil odesílatel. Podpis dokazuje, že požadavek je pravý a nikdo ho nezměnil; obsah nešifruje. Návod HackerOne k podepisování webhooků (https://www.hackerone.com/blog/securely-signing-webhooks-best-practices-your-application) vysvětluje, proč záleží na surovém těle i na správném klíči.
- **Pošlete testovací událost.** Ať klient ověří, že platný podpis projde a záměrně poškozený se odmítne. Tak se zachytí obvyklé chyby: klíč od jiného endpointu nebo tělo zpracované ještě před ověřením. Pokud to integrace umožňuje, držte testovací a produkční přihlašovací údaje oddělené.

## Snižte riziko po doručení

Po předání má zůstat použitelný záznam, ne stopa dalších kopií.

- **Zaznamenejte, kdo byl oprávněn a kdy.** Zapište příjemce, endpoint nebo klienta a čas předání. Nikdy hodnotu. Pokud nedokážete říct, zda byl odkaz otevřen nebo kdo se dostal do sdílené složky, berte to jako důvod příště postup zpřísnit.
- **Při jakémkoli podezření na únik klíč vyměňte.** Klíč vložený do tiketu, poslaný na špatnou adresu nebo nalezený v logu už není soukromý. Vygenerujte náhradní, aktualizujte endpoint a zneplatněte starou hodnotu. Odstranění odkazu únik neodčiní; to dokáže jen rotace.
- **Postup rotace dohodněte hned.** Rozhodněte, kdo náhradu vyžádá, vytvoří a nainstaluje, zda implementace dovoluje krátký souběh obou hodnot a jak novou hodnotu otestujete, než starou vyřadíte. Známý postup je lepší než narychlo domlouvaná výměna během výpadku.
- **Ukliďte.** Jakmile klient potvrdí vyzvednutí, odeberte dočasné přístupy a smažte zbylé kopie v konceptech, tiketech a poznámkách. Zkontrolujte pravidla uchovávání v každém zapojeném systému; smazání zprávy z jednoho zobrazení ji ze záloh málokdy odstraní.

## Řešte potíže, aniž byste klíč vyzradili

Problém s doručením není důvod posílat přihlašovací údaj znovu slabším kanálem. Nejdřív zjistěte, která ze tří věcí nefunguje: klient si klíč nemůže vyzvednout, nemůže nastavit endpoint, nebo požadavky dostává, ale nedokáže ověřit podpisy.

- **Vyzvednutí selhalo nebo lhůta vypršela.** Znovu ověřte příjemce a připravte nové, kontrolované předání. Hodnotu nevkládejte do tiketu a nežádejte klienta, aby vám pro porovnání poslal tu svou.
- **Podpis nesouhlasí.** Téměř vždy jde o chybu ve vstupech ověření: klíč od jiného endpointu, tělo přeformátované před výpočtem hashe nebo špatně načtená hlavička. Ať klient testuje se známou událostí přes testovací nástroje odesílatele.
- **Požadavky vůbec nepřicházejí.** To je problém doručení nebo směrování, ne přihlašovacího údaje. Než kdokoli začne uvažovat o rotaci, zkontrolujte časová razítka, kódy odpovědí a výběr endpointu. Dokumentace webhooků (https://docs.stripe.com/webhooks) služby Stripe je užitečný vzor, jak oddělit registraci endpointu a doručování událostí od ověřování podpisů.
- **Sdílejte diagnostiku bez citlivých údajů.** Stačí ID události, časové razítko, endpoint a kategorie chyby. Odstraňte klíč, celý podpis tam, kde je citlivý, a soukromá pole z obsahu, a než ukázkový požadavek pošlete, zkontrolujte, že v něm citlivé údaje opravdu nezůstaly.

Ověřte příjemce, předejte klíč jednou kanálem, který si ho nepamatuje, dohlédněte, aby skončil ve správci důvěrných údajů, a pokud mohl uniknout, bez váhání ho vyměňte. Širší využití jednorázových odkazů ve vývojářské práci popisuje článek Bezpečné sdílení odkazů pro vývojáře (https://uselinkpilot.com/cs/blog/secure-link-sharing-for-developers).

## Nástroje k tomuto článku

Generátor jednorázových tajných odkazů

Pošlete heslo nebo poznámku odkazem, který se otevře jen jednou.
https://uselinkpilot.com/cs/tools/free-secret-link-generator

Samozničující zpráva

Pošlete poznámku, která po jednom přečtení zmizí.
https://uselinkpilot.com/cs/tools/burn-after-read-secret

Generátor dočasných odkazů

Vytvořte odkaz, který v nastavený čas přestane fungovat.
https://uselinkpilot.com/cs/tools/temporary-link

## Časté dotazy

### Je e-mail někdy bezpečný pro poslání podpisového klíče webhooku?

### Má mít každý klient jiný podpisový klíč?

### Jak dlouho má být odkaz s tajnou zprávou dostupný?

### Šifruje podpisový klíč webhooku obsah požadavku?

### Kam má klient klíč uložit?

### Co když se klíč dostal ke špatnému člověku?

## LinkPilot pošle tajný odkaz, který po otevření zmizí.

Zašifruje se ve vašem prohlížeči, zobrazí se jednou a pak se zničí. Bez účtu.

Vytvořit tajný odkaz (https://uselinkpilot.com/cs/tools/free-secret-link-generator)

## Čtěte dál

Bezpečnost

### Jak bezpečně poslat externistovi dočasný přístup k databázi

Založte uživatele databáze s omezenými právy a koncem platnosti, heslo pošlete jednorázovým odkazem místo e-mailu, zabezpečte připojení a účet včas uzavřete.
https://uselinkpilot.com/cs/blog/how-to-send-a-temporary-database-login-to-a-contractor-securely

Bezpečnost

### Jak vytvořit dočasný zabezpečený odkaz pro sdílení souborů

Vyberte vhodný dočasný odkaz pro soubor, vytvořte odkaz, jehož platnost vyprší a který se po stažení zničí, a bezpečně sdílejte tajné zprávy s přílohami.
https://uselinkpilot.com/cs/blog/how-to-create-a-temporary-secure-link-for-sharing-files

Bezpečnost

### Aplikace se samozničujícími zprávami: Signal, WhatsApp, Telegram a kdy je lepší odkaz

Jak fungují mizející zprávy v aplikacích Signal, WhatsApp a Telegram, co který časovač maže, čemu žádný nezabrání a kdy se lépe hodí jednorázový odkaz.
https://uselinkpilot.com/cs/blog/self-destructing-message-apps

## Structured data

```json
[
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "Domů",
        "item": "https://uselinkpilot.com/cs"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "Blog",
        "item": "https://uselinkpilot.com/cs/blog"
      },
      {
        "@type": "ListItem",
        "position": 3,
        "name": "Jak bezpečně poslat klientovi podpisový klíč webhooku",
        "item": "https://uselinkpilot.com/cs/blog/how-to-send-a-webhook-signing-secret-to-a-client-securely"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "BlogPosting",
    "@id": "https://uselinkpilot.com/cs/blog/how-to-send-a-webhook-signing-secret-to-a-client-securely#article",
    "headline": "Jak bezpečně poslat klientovi podpisový klíč webhooku",
    "description": "Předejte klientovi podpisový klíč webhooku bez kopií v e-mailu a tiketech: ověřte příjemce, pošlete jednorázový odkaz, uložte klíč správně a při úniku ho vyměňte.",
    "inLanguage": "cs",
    "datePublished": "2026-10-25",
    "dateModified": "2026-10-25",
    "image": "https://uselinkpilot.com/logo-512.png",
    "author": {
      "@type": "Organization",
      "@id": "https://uselinkpilot.com/author/linkpilot-team#organization",
      "name": "LinkPilot Team",
      "url": "https://uselinkpilot.com/cs/author/linkpilot-team"
    },
    "publisher": {
      "@type": "Organization",
      "name": "LinkPilot",
      "url": "https://uselinkpilot.com",
      "logo": {
        "@type": "ImageObject",
        "url": "https://uselinkpilot.com/logo-512.png",
        "width": 512,
        "height": 512
      }
    },
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://uselinkpilot.com/cs/blog/how-to-send-a-webhook-signing-secret-to-a-client-securely"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Je e-mail někdy bezpečný pro poslání podpisového klíče webhooku?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "V čitelné podobě ne. E-maily se přeposílají, synchronizují do všech zařízení a zůstávají v zálohách, které nemáte pod kontrolou. Pošlete jednorázový tajný odkaz nebo použijte klientský portál s přihlášením a příjemce si ověřte druhým kanálem, kterému už důvěřujete."
        }
      },
      {
        "@type": "Question",
        "name": "Má mít každý klient jiný podpisový klíč?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Ano. Samostatný klíč pro každého klienta nebo endpoint omezuje dosah jednoho úniku a umožňuje vyměnit klíč u jedné integrace, aniž byste sahali na ostatní."
        }
      },
      {
        "@type": "Question",
        "name": "Jak dlouho má být odkaz s tajnou zprávou dostupný?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak krátce, jak to předání dovolí. Domluvte si s klientem čas, pošlete odkaz, až bude připravený si ho vyzvednout, a pokud lhůta uplyne, vytvořte nový."
        }
      },
      {
        "@type": "Question",
        "name": "Šifruje podpisový klíč webhooku obsah požadavku?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Ne. Klíč slouží k výpočtu a ověření podpisu, aby příjemce mohl zkontrolovat, že požadavek je pravý a nikdo ho nezměnil. Samotná data putují nešifrovaně, pokud je nechrání přenos (HTTPS)."
        }
      },
      {
        "@type": "Question",
        "name": "Kam má klient klíč uložit?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Do správce důvěrných údajů nebo do chráněné proměnné prostředí, kterou může číst serverový proces, s přístupem omezeným na aplikaci a lidi, kteří ji provozují. Nikdy do zdrojového kódu, logů ani sdílených dokumentů."
        }
      },
      {
        "@type": "Question",
        "name": "Co když se klíč dostal ke špatnému člověku?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Považujte ho za vyzrazený. Vygenerujte náhradní, aktualizujte konfiguraci endpointu, zneplatněte starou hodnotu a pak prověřte, jak se špatný příjemce do předání dostal, aby se to při příštím předání kontrolovalo."
        }
      }
    ],
    "inLanguage": "cs"
  },
  {
    "@context": "https://schema.org",
    "@type": "SoftwareApplication",
    "@id": "https://uselinkpilot.com/#software",
    "name": "LinkPilot",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "Web",
    "description": "LinkPilot is a secure link management platform for creating branded short links, tracking engagement, and sharing secrets with expiring, protected, self-destructing links.",
    "url": "https://uselinkpilot.com",
    "offers": [
      {
        "@type": "Offer",
        "name": "Free",
        "price": "0",
        "priceCurrency": "USD",
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Pro",
        "price": "29",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "29",
          "priceCurrency": "USD",
          "billingDuration": "P1M"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Agency",
        "price": "299",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "299",
          "priceCurrency": "USD",
          "billingDuration": "P1M"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Agency Plus",
        "price": "799",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "799",
          "priceCurrency": "USD",
          "billingDuration": "P1M"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Pro (yearly)",
        "price": "288",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "288",
          "priceCurrency": "USD",
          "billingDuration": "P1Y"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Agency (yearly)",
        "price": "2988",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "2988",
          "priceCurrency": "USD",
          "billingDuration": "P1Y"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Agency Plus (yearly)",
        "price": "7980",
        "priceCurrency": "USD",
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": "7980",
          "priceCurrency": "USD",
          "billingDuration": "P1Y"
        },
        "url": "https://uselinkpilot.com/pricing"
      },
      {
        "@type": "Offer",
        "name": "Enterprise",
        "priceSpecification": {
          "@type": "PriceSpecification",
          "priceCurrency": "USD"
        },
        "url": "https://uselinkpilot.com/pricing"
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Organization",
    "@id": "https://uselinkpilot.com/#organization",
    "name": "LinkPilot",
    "alternateName": "LinkPilot by TetraCore",
    "url": "https://uselinkpilot.com",
    "contactPoint": {
      "@type": "ContactPoint",
      "contactType": "customer support",
      "email": "support@uselinkpilot.com",
      "url": "https://uselinkpilot.com/support"
    },
    "parentOrganization": {
      "@type": "Organization",
      "@id": "https://tetracorehq.com/#organization",
      "name": "TetraCore",
      "url": "https://tetracorehq.com/"
    },
    "logo": {
      "@type": "ImageObject",
      "url": "https://uselinkpilot.com/logo-512.png",
      "width": 512,
      "height": 512
    },
    "description": "LinkPilot is a secure link management platform for creating branded short links, tracking engagement, and sharing secrets with expiring, protected, self-destructing links.",
    "sameAs": [
      "https://x.com/uselinkpilot",
      "https://www.linkedin.com/company/uselinkpilot",
      "https://facebook.com/uselinkpilot",
      "https://github.com/TetraCoreHQ/linkpilot-cli",
      "https://github.com/TetraCoreHQ/linkpilot-mcp",
      "https://www.npmjs.com/package/linkpilot",
      "https://www.npmjs.com/package/@uselinkpilot/sdk",
      "https://www.npmjs.com/package/@uselinkpilot/mcp",
      "https://chromewebstore.google.com/detail/linkpilot-short-links-and/mnmppadihpcncicldpkmgknhnjkondad",
      "https://addons.mozilla.org/en-US/firefox/addon/uselinkpilot/"
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "WebSite",
    "name": "LinkPilot",
    "url": "https://uselinkpilot.com",
    "potentialAction": {
      "@type": "SearchAction",
      "target": "https://uselinkpilot.com/blog?q={search_term_string}",
      "query-input": "required name=search_term_string"
    }
  }
]
```