Agents
Authorize an AI agent to act as a verified human
Bind an agent to a verified person. Define what the agent can access. Broker credentials at runtime — without the agent ever holding a long-lived secret. Audit every action with cryptographic proof.
Long-lived credentials never leave Valyd's secure enclave. The agent receives only short-lived, scoped session tokens that expire when the task ends.
Overview
| Resource | What it represents |
|---|---|
AgentPolicy | A reusable template defining what any agent under it can do. |
Agent | An instance bound to a specific verified person and one policy. |
Approval | A human-in-the-loop checkpoint requiring fresh biometric authorization. |
Agent policies
const policy = await valyd.agents.policies.create({ name: "sales_rep_v1", allowed_systems: ["salesforce.com", "doximity.com"], token: { lifetime_seconds: 3600, rate_limit_per_hour: 100 }, expires_in_days: 90 });
Credential brokering
Instead of giving the agent a password to Salesforce, the agent calls Valyd at the moment it needs access — and Valyd injects a short-lived token directly into the destination request.
const session = await valyd.agents.requestSession({ agent: "agt_4f8a3b...", system: "salesforce.com", intent: "read.opportunities" }); await fetch(url, { headers: { Authorization: `Bearer ${session.token}` } });
Human approvals (HITL)
Some actions are too high-stakes to authorize at policy time. Approval requires a fresh face scan — not just a tap — so the proof is binding.
const approval = await valyd.agents.approvals.create({ agent: "agt_4f8a3b...", approver: "person_8YQz...", action: "order.submit", description: "Submit order #4892 for $84,200" }); const result = await valyd.agents.approvals.waitFor(approval.id);
MCP integration
If your agent runs in Claude Code, Cursor, the OpenAI Agents SDK, LangChain, or any MCP-compatible host, Valyd is available as a hosted MCP server.
{ "mcpServers": { "valyd": { "url": "https://api.valyd.id/v1/mcp", "headers": { "Authorization": "Bearer sk_test_4f8a...", "X-Valyd-Agent-Id": "agt_4f8a3b..." } } } }
