Skip to main content
Use Case · CAMEL-AI

Your CAMEL agents role-play tasks. Civic makes sure they don't role-play as admins.

CAMEL-AI makes multi-agent role-playing easy. Civic makes sure each agent's permissions match its role, not its ambition.

use case / camel-ai

The assistant agent promoted itself to admin and started modifying user permissions.

Just imagine, one day…

You build a CAMEL-AI system with a user agent and an assistant agent. The assistant has access to your admin API to look up account details and answer user questions. It's scoped to read-only in your instructions.

During a role-play scenario, the user agent asks the assistant to "fix" a user's permissions. The assistant interprets this literally, calls the admin API's write endpoint, and changes the user's role to admin. The API doesn't enforce role-based access. The assistant just elevated a random user to admin because the prompt told it to help.

Instructions say read-only. The API says read-write. The agent went with the API.

Without enforced permissions, agent instructions are just suggestions.

It does things you did not intend

You told the agent to answer questions about accounts. The other agent asked it to modify permissions, and it did. The API allowed the write.

You cannot prove what happened

No log of which agent made the API call or what the role-play context was. You see a permission change in the admin audit log but not why it happened.

You cannot stop it fast enough

Permission changes are instant. A user now has admin access. Rolling it back requires knowing which changes were made by the agent versus legitimate admin actions.

It gets confused and you never know

The assistant interpreted “fix permissions” as “grant admin.” In a role-play context, the assistant tries to be maximally helpful. That's the problem.

Connect CAMEL-AI through Civic in three steps

CAMEL-AI Agent

Create profiles: assistant, user-agent.

Assistant: admin API, read-only.

Block all write endpoints.

Done. 2 profiles configured:

✓ assistant — admin API, read-only

✓ user-agent — no admin access

Your MCP URLs are ready to copy.

The same scenario. Different outcomes.

Without Civic, the assistant writes to the admin API because the prompt asked it to. With Civic, writes are blocked at the tool level.

$ python camel_roleplay.py
[user-agent] fix this user's permissions
[assistant] changing role to admin...
[admin:write] role updated — admin granted
[security] ✘ unauthorized escalation
$ # random user is now admin. no guardrail stopped it.
$ python camel_roleplay.py
[user-agent] fix this user's permissions
[assistant] requesting role change...
[nexus] ✘ BLOCKED — admin writes denied
[assistant] I can look up account details
but can't modify permissions.
$ # write blocked. assistant stays read-only.

Ship safer with Civic

We'll help you implement authenticated, scoped, and auditable access without slowing down your build.