Getting Started

Add governance to your AI agents in three steps: onboard, integrate, go live.

STEP 1

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.

What is a membrane? Your governance membrane is the complete set of policies, risk thresholds, delegation limits, and configurations that define how GaaS governs your agents. See Onboarding for the full lifecycle.

STEP 2

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);
}
Important: Always use the 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).

STEP 3

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:

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

Questions? Reach out on GitHub.