Create a profile


Settings > Profiles
1
Open Settings > Profiles
Credential Profiles is the first section.
2
Click Add Credential Profile…
Give it a name, a username, and pick where the password comes from.
3
Click Create
Every connection’s Credentials picker now offers it.
Point a connection at one


The Credentials picker on a connection's Authentication section
Where the password comes from
Pick Saved in the Keychain unless something else already owns the password. Read from elsewhere never leaves this Mac and never syncs.
Test Source runs a Read from elsewhere source without connecting. It shows the password hidden, or the error with what the command printed to stderr. Show password reveals it after Touch ID or your Mac’s password, and does the same for a password saved in the Keychain. A connection using the profile has its own Test Source, which fills in that connection’s host, port, user and database.
Vault database roles
A role on Vault’s database secrets engine hands out a new database user for every lease. Set Source to Read from elsewhere and Read From to HashiCorp Vault database role, then fill in:
The username field greys out, because Vault generates the username too. Test Source reads a lease, shows the username and password it got, and revokes it.
Each sign-in reads a new lease, so the main connection, a second database, and a backup each sign in as a user of their own. While connected, the lease renews before it expires. When Vault stops renewing it, at the role’s maximum TTL or when renewal fails, the connection signs in again with a new lease before the old user is revoked. Disconnecting revokes the lease. The generated password stays in memory: it never reaches the Keychain,
connections.json, or iCloud.
An OIDC role must allow the redirect URI http://localhost:8250/oidc/callback, the one vault login -method=oidc uses. A connection that needs an OIDC sign-in offers Sign In instead of failing.
A command that works for every connection
The output of a command runs inbash for whichever connection is opening. Write {host}, {port}, {user} and {database} where the command needs them, and each becomes that connection’s value as one quoted word, with or without quotes around the placeholder. The same values arrive as TABLEPRO_HOST, TABLEPRO_PORT, TABLEPRO_USER and TABLEPRO_DATABASE, plus TABLEPRO_CONNECTION_NAME.
{host} and {port} are the ones typed in the form, never the local port of a tunnel. ${host} is left for bash.
Reuse Result For keeps the output for 5 minutes, 15 minutes, an hour or 8 hours, so a reconnect inside that window skips the command. Set it below the lifetime of whatever the command prints. The output stays in memory, and a connect that fails throws it away so the next one runs the command again.
Additional secrets
Some engines sign in with more than a password: an AWS secret access key, a Snowflake private key, a service account JSON. Additional Secrets in the profile editor lists them per database type. A connection reads only the secrets its own type declares, so one profile can carry several engines’ keys without them colliding.Rename, duplicate and delete
Right-click a row in Settings > Profiles for Edit… and Duplicate. The row’s trailing label says how many connections use it. Delete Profile is at the bottom of the editor. Deleting hands the username and the password to each connection that used it, as that connection’s own credentials, so nothing stops connecting. Two profiles cannot share a name, since every picker offers them by name alone.Sharing and sync
An exported connection carries its profile by name, alongside the name, the username and where the password comes from. Importing on a Mac that has no profile of that name creates one set to ask for the password; a profile already there is left as it is and the connection links to it. The password never travels, and a profile reading its password from a file or a command exports as one that asks. With iCloud Sync on, Settings > Sync > Credential Profiles carries profiles between your Macs: the name, the username, and where the password comes from. The password and any additional secrets stay in the Keychain. They cross only while Passwords is on in the same pane, and only when saved after it was turned on. A profile set to Read from elsewhere arrives as Ask every time, and a source set on the second Mac stays on that Mac. Which connections use a profile is kept on each Mac, so pick the profile in Credentials again on the second one. A profile arriving under a name already taken gets a number after it, such asprod (2). Deleting a profile deletes it on your other Macs too.
