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.
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.
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.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.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.
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.
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.