Případ použití

Agent potřebuje klientovo heslo. Co teď?

Skoro každá zakázka dřív nebo později narazí na moment, kdy si klient musí něco zadat sám: přihlášení do WordPress administrace, heslo k hostingu nebo FTP, přístup k registrátorovi domény, tajný klíč ke Stripe. A pro tohle dnes neexistuje dobré místo.

Problém

Problém

Obvyklé cesty jsou špatné vždy stejným způsobem. Klient pošle heslo v e-mailu v čistém textu a to tam zůstane navždy, okopírované do každé zálohy té schránky. Nebo skončí ve Slack DM, prohledatelné kýmkoli, kdo se do workspace později přidá. Nebo, nejhůř, se vloží přímo do chatu s AI agentem — a stane se součástí přepisu, který může být logovaný nebo uchovávaný třetí stranou, které jste to heslo nikdy nesvěřili.

Nic z toho nemá platnost. Nic z toho se nemaže. A nic z toho po měsících neřekne, kdo tu hodnotu vlastně viděl.

Přihlašovací údaje nejsou jen další kus klientského obsahu. Logo nebo odstavec textu klidně leží v databázi jako čistý text. Heslo ne — a potřebuje jiné zacházení, ne stejný formulář vyplněný o něco opatrněji.

Jak to běží

Jak to běží

  1. Do intake přidáte položku typu secret. Vedle loga a textu agent požádá o wp_admin s type: "secret" — maskované pole, odlišné od textových a souborových položek.
  2. Klient ho vyplní v portálu. Uvidí ikonu zámku a větu, že hodnota se zobrazí jen jednou, jen jeho vývojáři — ne další formulářové políčko vypadající jako všechna ostatní.
  3. Hodnota se zapečetí hned při příjmu, nikdy neleží jako čistý text. Putuje k BriefGate přes HTTPS a je zašifrována na serveru pomocí libsodium sealed boxu dřív, než se čehokoli dotkne databáze. Soukromý klíč, kterým se dá otevřít, existuje jen v prostředí serveru, nikdy v databázi.
  4. Pokud klient hodnotu nemá, prostě ji přeskočí. Nastavte required: false a intake se přesto dokončí — hodí se pro přístup, který ještě neexistuje nebo který chce klient předat jiným kanálem.
  5. Agent ho odhalí přesně jednou, ve chvíli, kdy ho potřebuje použít. Volání get_intake_results vrátí dešifrovanou hodnotu při prvním volání. Pak už je z API nadobro pryč — druhé volání dostane secret_unavailable a časové razítko, ne heslo znovu.
  6. Každé odhalení se loguje. Kdo, odkud a kdy — v needitovatelném audit logu, který si přečtete z dashboardu.
Co vidí váš klient
Pohled klienta na pole typu secret: maskovaný vstup se zámkem a poznámkou, že hodnota se zobrazí jen jednou.
Pohled klienta na pole typu secret: maskovaný vstup se zámkem a poznámkou, že hodnota se zobrazí jen jednou.
Pro agenta

Příklad přes MCP

Agent nadefinuje intake s kombinací běžných položek a jedné secret — tvar volání se nemění, mění se jen typ:

{
  "project_name": "Site migration — Hillcrest Dental",
  "client": {
    "name": "Dr. Patel",
    "email": "[email protected]"
  },
  "items": [
    {
      "key": "wp_admin",
      "type": "secret",
      "label": "Current WordPress admin login",
      "help": "Username and password for wp-admin. Shown to your developer once, then discarded.",
      "required": false
    },
    {
      "key": "domain_registrar",
      "type": "secret",
      "label": "Domain registrar login",
      "help": "So we can update DNS once the new site is ready."
    }
  ]
}

get_intake_results vrací každou běžnou položku jako obyčejnou hodnotu — text jako string, logo jako podepsanou URL. Položka typu secret je jiná: při jediném volání, které ji odhalí, přijde wp_admin s hodnotou value v čistém textu a first_reveal: true; každé další volání pak vrátí null s důvodem. Hodnotu si uložte do vlastního správce hesel hned, jak ji uvidíte — druhá šance nebude.

Dokumentace

Co se změní

Výsledek

Přestanete klienta žádat, aby heslo vložil do chatovacího okna nebo e-mailu, na jehož smazání musíte pamatovat. Přihlašovací údaj se přesune jednou, použije se a zmizí ze systému, který ho zpracoval — se záznamem, kdy přesně a kým. Když přístup ještě není hotový, intake na něj nečeká nesmyslně dlouho.

Pro přesnost, co to je a co ne: není to zero-knowledge a hodnota se nešifruje v prohlížeči klienta — putuje přes HTTPS a zapečetí se ve chvíli, kdy dorazí na server. Co to přináší: výpis databáze dá útočníkovi jen šifrovaný text, ne přihlašovací údaje, a hodnotu po jejím odhalení už nikdo — včetně vás — nevytáhne podruhé.

Začněte s účtem zdarma, bez karty; položky secret jsou součástí tarifu Solo a vyšších, zbytek intaku funguje i na Free.

Free tarif, bez platební karty.