Identity gates

Use your operating system's identity check where a mistake would be expensive, and leave routine work alone.

Use the identity check your operating system already knows how to do - Touch ID on macOS and Windows Hello on Windows - only where an extra pause is worthwhile, and nowhere else.

Why a separate layer

The other guardrails answer “is this statement safe?”. An identity gate answers a different question: is the person at the keyboard still you? A laptop left unlocked for two minutes in a shared office passes every SQL check in the app. That is the gap this closes, and it is why the gate is a hardware prompt rather than another dialog with a button on it.

Two gates, set independently

Verify to connect

The check happens before the connection opens - nothing is reachable until you pass it.

Verify to write

Reads stay frictionless; anything that is not a plain SELECT asks first.

Both are stored per client, project, or environment and edited in the same place as the rest of connection safety, so “every production database for this customer” is one switch rather than fifty.

Honest status

The policy layer is real today: the two flags exist on every client, project, and environment, they are edited in the connection-management dialog, and they travel with an exported connection set. The SQL side is real too - SQLly already classifies which statements are writes and already gates them for confirmation. What is still being built is the last step: raising the native Touch ID / Windows Hello prompt and holding its result.

Nothing about the gate is a secret store. An identity check controls whether an action proceeds; it never becomes the key to your credentials. Those stay in the OS keychain, where the operating system can protect them properly.

In this section