Agent security
Agents can only call what’s on your allowlist. Unsafe Python constructs are blocked. Sensitive information can be end-to-end encrypted.
pip install search2o
Search builds an index using natural-language descriptions written by developers. This makes matching predictable, lets it scale to thousands of agents, and returns results in less than 0.5 seconds — see search quality.
Answers employee questions about Acme Corp workforce policies: vacation and leave, benefits eligibility, remote-work rules, expense limits and the code of conduct. It explains what the policy says and where to find the form. It cannot approve requests, change records or make exceptions.
Users can submit requests through the browser, a chat application, or an agent skill. The browser UI also provides a complete workspace for agent development and system administration.
A stateless server designed to run standalone or in a cluster. Uses the agent framework to run agents in a controlled runtime. Encrypts sensitive information before it leaves the server. GitHub.
The shared service behind every agent server. The cloud provides platform services including search, state management, and reporting.
An agent is built using 23 commands. Strings enclosed in { } are evaluated as Python expressions, with built-in safeguards. Why not Python?
40 more characters
{
// An agent is a set of functions. Execution starts in main.
"functions": {
"main": {
// A function is an ordered list of commands.
"commands": {
// API profile: base URL, auth, pool. Secrets stay out.
// sys.query is the user's request.
"api": {
"profile": "intranet",
"url": "/policies/search",
"queryParams": { "q": "{ sys.query }" }
},
"prompt": {
// Inside { } is Python, run in a controlled runtime.
// result is the previous command's parsed response.
"system": "{ f'Use only these sections: {result}' }",
"user": "{ sys.query }"
},
// A profile holds the vendor, model and key.
"llm": { "profile": "claude_haiku", "streamOutput": true }
}
}
}
}
Agents can only call what’s on your allowlist. Unsafe Python constructs are blocked. Sensitive information can be end-to-end encrypted.
Bring your own keys. OpenAI, Anthropic, and Gemini are supported out of the box, along with any compatible LLM. Others need only a small adapter.
Never have to restart agent servers. A change to configuration is live on the next agent run. A running agent keeps running with the old configuration.
The agent server exposes a REST API. Use it to run non-interactive agent workflows — event-driven or in batch. The bundled search UI uses the same API.
Four roles: users, developers, administrators and owners. Service accounts for bots and scripts. Built-in authentication as well as single sign-on.
What ran, what failed, what it cost. Eight reports show trends in agent usage, performance, errors and LLM cost along with details.