Getting Started
Add governance to your AI agents in three steps: onboard, integrate, go live.
Onboard Your Organization
The fastest path is the quickstart endpoint. One call handles intake, analysis, membrane generation, and API key provisioning:
POST /v1/onboarding/quickstart
Content-Type: application/json
{
"organization": {
"name": "Acme Health",
"domain_url": "https://acmehealth.com",
"description": "Healthcare call center with AI agents for billing and scheduling"
},
"agents": [
{
"name": "Billing Bot",
"framework": "langchain",
"action_types": ["communicate", "access"],
"domains": ["healthcare"]
}
]
}
GaaS analyzes your context, infers the applicable regulatory frameworks, builds a governance membrane, and returns an API key. Your membrane starts in shadow mode — full evaluation, zero enforcement.
Integrate Your Agent
Before your agent takes an action, have it declare the intent to GaaS and act on the decision.
Python
from gaas_sdk import GaaSClient
client = GaaSClient(api_key="your_api_key")
# Declare what the agent wants to do
decision = client.submit_intent(
agent_id="billing_bot",
action_type="communicate",
verb="send_email",
target_type="person",
target_id="patient@example.com",
sensitivity="confidential",
summary="Send billing statement to patient",
content={"recipient": "patient@example.com", "channel": "email"},
impact={"reversible": True, "audience_size": 1}
)
# Act on the governance decision
if decision.approved:
send_email(decision.payload)
elif decision.blocked:
log(decision.verdict_reason)
TypeScript
import { GaaSClient } from '@gaas/sdk';
const client = new GaaSClient({ apiKey: 'your_api_key' });
const decision = await client.submitIntent({
agentId: 'billing_bot',
actionType: 'communicate',
verb: 'send_email',
target: { type: 'person', id: 'patient@example.com', sensitivity: 'confidential' },
summary: 'Send billing statement to patient',
content: { recipient: 'patient@example.com', channel: 'email' },
impact: { reversible: true, audienceSize: 1 }
});
if (decision.approved) {
sendEmail(decision.payload);
} else if (decision.blocked) {
console.log(decision.verdictReason);
}
payload from the decision response when executing an approved action, not your original content. GaaS may modify the payload for compliance (e.g., adding required disclosures).
Review Shadow Decisions, Then Go Live
While your membrane is in shadow mode, GaaS evaluates every intent through the full governance pipeline but doesn't enforce any decisions. Use the conversational dashboard to review:
- What GaaS would have blocked — these show where governance adds value
- What GaaS would have modified — these show where governance improves action quality
- What GaaS would have escalated — this previews your human review workload
Mark any false positives. The membrane refines based on your feedback. When you're confident, activate live mode:
POST /v1/membranes/{membrane_id}/activate
{
"activation": {
"mode": "live"
}
}
Live mode can be reverted to shadow at any time with a single call. All audit records are preserved across both modes.
What's Next
- Intent Declaration API — full endpoint reference
- Onboarding — membrane lifecycle, context intake, and shadow mode details
- Conversational Dashboard — monitor governance, review escalations, and explore decisions through natural language
- SDKs — Python, TypeScript, and Java client libraries
- Shadow Mode — full pipeline evaluation without enforcement
Questions? Reach out on GitHub.