# An army of bots and one vault.

By Niyaz Irsaliev, 2026-10-21

Why I stopped pasting keys into chat, and what my bots use instead.

A few days after I set up my first AI agent, I hit the wall everyone hits. I wanted to give the bot simple things: the password to the computer, the password to the bot's new email account. And it kept telling me not to paste secrets into the chat.

Fair enough. But then where?

My first idea was to build my own password program with the bot. At that point I did not even know what GitHub was. The bot wrote it. Then the obvious hit me: the bot wrote it, and as super admin it could read everything inside anyway. There was no point.

So I did what I should have done first. I asked the bot to search for a ready solution and do a deep analysis of how people share keys with bots. It came back with Bitwarden, an open source password manager. I wanted it self-hosted on my own machine, because I did not want to pay for one more subscription. It became one of the first things I installed locally. The phone app simply points to my own server.

That lesson went into my bots' core instructions, and it is still there: don't reinvent the wheel.

## Many bots, one vault

One bot became several: Codex, Claude Code, OpenClaw, Hermes. Every one of them needed keys, and connecting each one to the vault separately was painful.

Askhat went to an AI agents conference in New York and came back with notes. That is where MCP came in. MCP is a standard way to plug a tool into an AI agent. You build the connector once, and any agent that speaks MCP can use it.

In May I wrapped my Bitwarden server in an MCP. Each bot gets its own key and sees only its own items, and every access goes into a log. A new bot just connects to it. All of it runs inside Tailscale, a private network between my own devices and servers, so none of it is open to the public internet.

Sometimes one bot needs to hand a key to another. It can drop it into the other bot's folder, one way. After that it can't read it or change it. And I see every handoff.

## Getting lazy

For months I typed every new key into the Bitwarden app myself. Then I got lazy. The last straw was simple: I could not just send Bitwarden a screenshot or a photo of a password.

The idea was already in the air. My personal training bot, Mike, did it back in August to connect my Technogym account. I had seen Grok do something similar. In early October I decided to make it work for every bot.

Now, when a bot needs a key, it sends me a one-time link. I open it, paste the key, and it goes straight into the vault. I can even drop in a photo of the password, and it reads the password from the picture. The recognition runs on my own server, and I check the text before it saves. The link works once and dies. The secret never touches the chat.

Every step started with the same question: how do I give a bot a key without pasting it into the chat. And every time, the answer was the same rule. Don't reinvent the wheel.

[The code is open: onelink-vault on GitHub](https://github.com/niyazirsaliev/onelink-vault)
