Credentials. Store real API keys only in the locations the Box security docs describe and test with throwaway keys first.
Who it is forA team lead who wants an AI agent to call paid or private APIs without handing the agent the raw secret.
The problemPutting API keys in an agent's environment or prompt lets the agent leak them, log them, or reuse them outside the task.
The outcomePermitted requests are authenticated by the gateway with configured API credentials or AWS SigV4 signing, and the agent does not receive the underlying secrets.
What you need first
- A Mac with Apple silicon running macOS 15 or later
- Node.js 22.21 or later from Homebrew, if you follow the getting-started guide
- Access to Claude Opus 5 on Amazon Bedrock in us-west-2, if you follow the getting-started guide
- A Rust toolchain via rustup, only if you build from source
Steps
- Read the security model in docs/user/security.md.
- Read the policy guide in docs/user/policy.md to write permit rules for the API hosts and paths you allow.
- Add the API credentials and the allowed request rules to your Box.toml and policy.dw as the guides describe.
- Run the Box and send a permitted request from the agent to the allowed host.
- Check the decision records to confirm the request was permitted and that the agent's own environment holds no key.
Prompt for your agent
In the strands-agents/box repository, read docs/user/security.md and docs/user/policy.md, then configure credential injection for <api-host> in box.toml and policy.dw. Expected output: a permitted request to <api-host> succeeds and the agent's environment does not contain the API key. Verify that a request to a host not in a permit rule is denied.
Caveat. The README says the gateway injects configured credentials but does not give the exact config keys, so confirm them in the guides before relying on this.
Get 5 new use cases every morning. Free, one short email, unsubscribe anytime.
Get them freeShare: X LinkedIn Hacker News Email Copy link
Disclaimer
Deduped lists open-source repositories that belong to other people. We do not own, maintain, audit, or vouch for any of them, and a repo appearing here is not an endorsement or a safety check. The use cases, steps, and prompts are written by AI and may be incomplete, outdated, or just wrong. Where a use case is marked "Seen in the wild", we link to public posts where someone described something similar, but we have not verified those posts and the use case itself is still our AI's own write-up. Use all of this at your own risk. Only run code, commands, or agents on systems and accounts you are authorized to use, and read the code and every command before you run it, especially anything that touches credentials, files, or the network. Nothing here is professional, security, legal, or financial advice. All trademarks and project names belong to their respective owners, and their use here does not imply affiliation. Content is provided as is, without warranties of any kind. Found a mistake, a safety problem, or something you want removed? Email [email protected] and we will look at it promptly. Full disclaimer page