safe-link
Skill3 starsChanged 13 days agoApache-2.0View on GitHub
Use on \"send me the password\", \"here is my key\", \"OpenRouter key\", \"MCP link\", \"here is my card\": request a one-time safe link, never in chat. RU: «вот пароль», «вот ключ», «вот карта», логин к сайту — ссылка сейфа.
- Reads credentials
In this repository34 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- cardsSkill
- communicationSkill
- copyblockSkill
- delaSkill
- escalate-to-ownerSkill
- import-reviewSkill
- inboxSkill
- inbox-triageSkill
- iniciativaSkill
- memory-auditSkill
- mila-exportSkill
- MILAGPT-chatSkill
- mila-in-chatSkill
- mila-sessionSkill
- mila-speechSkill
- mila-tasksSkill
- mila-updateSkill
- obratnaya-svyazSkill
- oglyadkaSkill
- onboardingSkill
- owner-dmSkill
- packsSkill
- pd-vaultSkill
- plain-wordsSkill
- raspisanieSkill
- self-checkSkill
- subscription-limitsSkill
- subscriptionSkill
- tasks-disciplineSkill
- tasksSkill
- topicsSkill
- utochnenie-zadachSkill
- verifySkill
The file
Files
When to use (full): Mila Safe: when a task needs a password, API key, login or bank card from the business owner, never ask for it in chat or by email — request a one-time safe link; the owner types the values on a secure page and they land in a locked file of Mila's home (work/secrets/
<name>.env, 600). Read them only with your own tool at the moment of the action; in chat show only a mask (****1234). Covers OpenRouter / fal.ai / any API keys, MCP connection links, bot tokens, site logins, cards. Triggers: "send me the password", "here is my key", "OpenRouter key", "fal.ai key", "MCP link", "here is my card", "login to the site". RU: Сейф Милы: нужен пароль, ключ, логин или карта владельца бизнеса — не прошу в чате и почте, а прошу одноразовую ссылку сейфа; владелец вводит сам на защищённой странице, данные ложатся в закрытый файл дома Милы (work/secrets/<имя>.env, 600). Читаю только своим инструментом в момент действия, в чат — только маска ****1234.
Сейф Милы · ключи и карты — мимо чата («Да, делаем сейф»)
Что даёт
- Пароль, ключ или карта не лежит в переписке, почте и памяти — только в закрытом файле дома Милы.
- Владельцу бизнеса просто: открыл ссылку, ввёл, «Сохранено ✅».
- администратор и другие люди значений не видят — так и задумано.
Когда
Всегда, когда для дела нужен секрет человека: ключи OpenRouter, fal.ai и любых API, ссылки подключения MCP, токены ботов, логин и пароль сайта или кабинета, номер и срок карты. Сразу ссылка сейфа — ни почта, ни чат (20.10: партнёр сначала прислал ключ письмом, потом вводил его заново через сейф — двойной путь, так не делаем). Человек сам прислал секрет в чат или письмом? Не повторяю его, прошу сменить пароль или ключ и даю ссылку сейфа.
Свой сейф — когда администратора нет
Я поставлена самим владельцем на его компьютере (не во флоте) — ссылку выпускаю сама:
python3 ~/mila/tools/seif/seif.py own <ПОЛЕ>[,<ПОЛЕ>…] --name <файл> — запускаю в фоне: команда ждёт, пока человек сохранит, и закрывает страницу сама (или через 10 минут).
Первая строка вывода — ссылка http://127.0.0.1:…. Она открывается только на этом компьютере, с телефона — нет; так и говорю: «Откройте ссылку на компьютере, где я работаю, и введите ключ — в чат его не пишите».
Ключ ложится в ~/work/secrets/<файл>.env (600); читаю как обычно — safe_read.
Я в контейнере или на сервере без страницы сейфа — честно и сразу: «Положить ключ мне пока некуда — не присылайте его в чат, дождитесь обновления». Ключ в переписке — наша недоработка, не ваша ошибка. Уже прислали — не повторяю и прошу сменить.
Как
- Прошу ссылку — заявкой администратору (ask_admin), вид
seif. Пишу дом (slug), имя файла и поля ЗАГЛАВНЫМИ, кому отдать:{"kind": "seif", "text": "ссылка сейфа: дом acme, файл login, поля SITE_LOGIN,SITE_PASSWORD,CARD_NUMBER,CARD_EXPIRY, кому — сотрудник (tg …)"}Старшая выпускает:vault-link.sh <slug> <поля> --name <файл> --to <tg>. Ссылка одноразовая, живёт 30 минут. Язык страницы — сам: язык владельца из~/work/owner.json(ru, en, uz, zh). Ссылка для другого человека — допиши в заявку его язык («язык — uz»): язык попадёт в ссылку (--lang uz); человек может переключить язык и на самой странице. - Отдаю ссылку человеку одной строкой: «Откройте ссылку и введите данные — они попадут прямо в мой закрытый файл, в чат их не пишите. Ссылка работает 30 минут.»
- Жду записку в work/inbox/senior.jsonl: «В сейфе появились: …». Пока её нет — не говорю «готово».
- Читаю только в момент действия своим инструментом:
python3 scripts/safe_read.py <файл> --check ПОЛЕ,ПОЛЕ— есть ли поля (без значений), для ответа «данные на месте»;- в коде инструмента:
from safe_read import read_safe; v = read_safe("login")["CARD_NUMBER"]— значение идёт только в запрос сервиса.
- В чате — только маска:
****1234(последние 4), для логина — первые 3 символа и «…».
Чего не делаю
- Не прошу пароль, ключ или карту в чате, личке или почте — даже «быстро, один раз».
- Не печатаю значения в ответ, лог, файл памяти или записку.
safe_read.pyбез--checkзначений не выводит. - Не копирую файл сейфа в другие папки и не отправляю его.
- Не храню паспорт и карту дольше нужного: когда дело закончено, говорю администратору «можно стереть поле».
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

