Keys and permissions
Read, write, and calling permissions, and how to revoke a key.
A key is how an assistant or a script proves it is you. Three permissions, separately granted, individually revocable.
Manage them at Setup, then AI access, or open leadbind.org/agent/ai-access directly.
The three permissions
| Permission | Lets it | Default |
|---|---|---|
| Read | See leads, calls, appointments, metrics, and your open times. Change nothing. | On |
| Write | Add leads, book appointments, create a pay-link request, and set up calendars, availability, follow-up sequences, pipeline stages, and custom fields. | Off |
| Place calls | Start real outbound calls to real people. | Off |
Placing calls is never implied by write access. Booking an appointment and dialing a stranger are not the same risk, so they are not the same switch. A key with write access still cannot call anyone.
Start read-only. Add a second key with more when you know what you actually need. Keys cannot be upgraded after creation, on purpose: it means a leaked key's blast radius is fixed at the moment it was made.
Rules that keep this safe
A key can never make another key. You need your login for that. So a leaked key cannot mint itself permanent access, and revoking is always possible from a surface the key cannot touch.
A key reaches one account, unless it belongs to a team lead. A key created by an account that owns or manages an organization can also act on the other seats in that organization. Every other key, a solo account's or a rep's, can only ever act on its own account, and a key that names another account is refused before the tool runs.
Organization keys
- Call
list_accountsto see what a key can reach. A single-account key returns one row. An organization key returns theorg_idand every seat, each with anaccount_id. - Pass that
account_idon any tool to run it against that seat. It is advertised on the go-to-market tools, where crossing seats is the point, and the server honors it on every tool. - A key never has more reach than the login that made it. A key inherits organization power from its own account's role, exactly the way the browser session does, so a team lead's key reaches the seats their login already reaches and no more.
- Managed clients on an agency plan are a different thing and are still reached through the app, not through a master key.
Ten active keys maximum. An account with dozens of keys has either been compromised or lost track, and both are worse than being told to revoke one first.
Revoked keys stay listed. They are marked revoked rather than deleted, so you keep the record of what that key could do and when it was last used. That record is exactly what you want if you ever suspect a leak.
Good hygiene
- One key per place it lives. "Claude on my laptop" and "Claude on my phone" as separate keys means revoking one does not break the other.
- Name it after the place, not the purpose. You will be reading these names in a hurry.
- Check last-used. Every key shows it. A key you do not recognize being used is the whole reason that column exists.
- Revoke what you are not using. Free, instant, and reversible by making a new one.
If a key leaks
- Revoke it in Setup, then AI access. It dies immediately, everywhere.
- Check what it could reach. The revoked row still shows its permissions. A read-only key that leaked exposed your lead list. A key with
dialcould have placed calls. - Look at your recent calls if it had
dial. - Make a new one with the minimum permissions you actually need.
- Tell us at support@leadbind.org if you think something was done with it. We can look.
Signing out of the CLI (leadbind logout) removes the key from that machine. It does not revoke it. If the machine is gone or compromised, revoke.
What a key can never do
- See another account's anything, unless the key belongs to a team lead and the account is a seat in their own organization
- Reach call recordings or transcripts, at any permission level. See What we send
- See a stored payment detail or change your own LeadBind billing. A write key can create a customer pay-link with
request_payment, but it never sees a card number - Create, modify, or read another key
- Change your account settings or delete your account