Why use Agentknock?
Development work often needs secrets: an API token to call a service, an SSH key to reach a server, or credentials to deploy an application. The work might happen on your laptop, in a virtual machine, on a remote server, or in a hosted workspace such as GitHub Codespaces. You trust that environment enough to work in it. That doesn’t mean you expect to own it, maintain it, or keep it secure indefinitely.
Leaving credentials there creates a risk that outlasts the work. A malicious dependency, a compromised tool, or an exploit that runs months later can collect tokens from configuration files and keys from disk. A brief compromise of one development machine can give an attacker lasting access to the services those credentials protect.
Common defenses help, but leave a gap
Section titled “Common defenses help, but leave a gap”Short-lived credentials limit how long a stolen value remains useful. When a service can issue credentials that expire after a few hours, that is a substantial improvement. But not every service or tool supports that workflow. A single long-lived token or private key can leave you with the same problem.
Encrypted storage protects credentials while they are locked. A password manager or keychain is much better than a plaintext file, but a tool still needs a way to obtain the value. Many tools don’t integrate with these stores, so you end up using a helper or copying values into the environment. Unlocking can also be awkward when work runs remotely or through an agent. Once a value is available to a process on the machine, locking the store again won’t invalidate a copy that was stolen during that time.
Credential proxies and agents can let a tool use a credential without receiving the value. This works well when the tool supports the integration. Otherwise, injecting credentials may require an alternative service endpoint or intercepting HTTPS traffic—changes that tools often reject because they would weaken connection security. A local proxy also depends on the operating system to isolate it from other processes. A remote proxy provides separation from the development machine, but only for operations it can perform or mediate.
These approaches also tend to grant access for a session or a period of time. They can restrict where a credential is stored or how long it is available without deciding whether a particular command ought to use it.
Decide access for each command
Section titled “Decide access for each command”Agentknock keeps your secrets on a paired phone. A client asks for the secrets a command needs, and the phone decides whether to allow that use.
When you need to make the decision yourself, the request arrives on the phone you already carry. You can inspect the command and approve or deny it wherever you are. You don’t need to sit at the development machine or keep a remote terminal open to enter a password. An agent can work in the background and ask for access when it reaches a task that needs it.
Approved environment-variable secrets are provided to the command without being saved as credentials for later commands. For SSH authentication and Git signing, the phone performs the cryptographic operation and keeps the private key.
Keep approvals useful
Section titled “Keep approvals useful”Making every command a separate decision would soon become tiresome if every decision needed your attention. You can approve requests yourself, allow suitable uses automatically, or grant one client temporary access. These options work without a subscription.
The optional AI reviewer makes a more contextual decision. It considers the command, the requested secrets, and instructions you provide about the client and acceptable use. It can approve an expected request, deny an inappropriate one, or ask you to decide. The reviewer receives the information needed to assess the request, but not sensitive stored values or private keys.
That matters when fixed rules are too broad or too brittle. A command may be routine on your development laptop and unusual on a shared build machine. Detailed review instructions let you express those differences without trying to enumerate every possible command.
Your secrets stay on your phone between uses, and you can keep control of each request without personally handling every routine decision.