Level 4Lesson 33⏱️ 75 min

Claude for Teams & Orgs

Deploying Claude inside a company: shared prompts, admin controls, usage policies, and cost governance.

Claude Team vs. Claude API — Which to Use?

Choose your deployment model:
  • Claude.ai Team/Enterprise — no-code, for knowledge workers. Shared projects, custom instructions, admin controls. Best when your team needs Claude as a productivity tool.
  • Claude API — for builders. You control UX, auth, costs. Best when you are embedding Claude inside your own product or internal tool.
  • Both together — engineers use the API to build; business teams use Claude.ai for day-to-day work. Very common setup.

Shared Prompt Libraries (API)

The single biggest leverage point for teams: centralise your prompts. Don't let every engineer or analyst write their own version of the same prompt.

# prompts/library.py  — centralised prompt store
PROMPTS = {
    "support_triage": {
        "system": """You are a support triage agent for Acme Corp.
Classify the ticket into: billing | technical | feature_request | other.
Return JSON: {"category": "...", "priority": "high|medium|low",
              "summary": "one sentence"}""",
        "model": "claude-haiku-4-5-20251001",
        "max_tokens": 128,
    },
    "contract_review": {
        "system": """You are a legal analyst specialising in SaaS contracts.
Identify: unusual clauses, liability caps, IP ownership issues, termination rights.
Flag anything that deviates from our standard terms (attached below).
Be concise. Bullet points per section.""",
        "model": "claude-opus-4-5",
        "max_tokens": 2048,
    },
    "weekly_summary": {
        "system": """Summarise the week's Slack messages into:
- 3 key decisions made
- Open questions still unresolved
- Action items with owners
Keep it under 200 words.""",
        "model": "claude-sonnet-4-5",
        "max_tokens": 512,
    }
}

# Usage
import anthropic
client = anthropic.Anthropic()

def run_prompt(prompt_key: str, user_content: str) -> str:
    cfg = PROMPTS[prompt_key]
    r = client.messages.create(
        model=cfg["model"],
        max_tokens=cfg["max_tokens"],
        system=cfg["system"],
        messages=[{"role": "user", "content": user_content}]
    )
    return r.content[0].text

Usage Tracking & Cost Governance

The API doesn't automatically track spend per team or feature. Build lightweight cost logging from day one — it's nearly impossible to add retroactively.

# middleware/cost_logger.py
import anthropic, time
from datetime import datetime

# Approximate cost per 1M tokens (check pricing page for current rates)
COSTS = {
    "claude-opus-4-5":           {"input": 15.0,  "output": 75.0},
    "claude-sonnet-4-5":         {"input": 3.0,   "output": 15.0},
    "claude-haiku-4-5-20251001": {"input": 0.25,  "output": 1.25},
}

def tracked_call(client, feature: str, team: str, **kwargs):
    start = time.time()
    response = client.messages.create(**kwargs)
    elapsed = time.time() - start

    model = kwargs["model"]
    input_tokens  = response.usage.input_tokens
    output_tokens = response.usage.output_tokens
    cost = (
        input_tokens  / 1_000_000 * COSTS[model]["input"] +
        output_tokens / 1_000_000 * COSTS[model]["output"]
    )

    # Log to your DB / analytics
    log_entry = {
        "timestamp": datetime.utcnow().isoformat(),
        "feature": feature,
        "team": team,
        "model": model,
        "input_tokens": input_tokens,
        "output_tokens": output_tokens,
        "cost_usd": round(cost, 6),
        "latency_s": round(elapsed, 2),
    }
    print(log_entry)  # replace with supabase.table("usage").insert(log_entry)
    return response

Claude.ai Enterprise Admin Controls

Key settings available to Enterprise admins:
  • Custom system prompts — set org-wide instructions users can't override
  • Model access — restrict which models are available
  • Data retention — opt out of training data use for all users
  • SSO/SCIM — integrate with Okta, Azure AD, Google Workspace
  • Usage dashboard — per-seat usage reports
  • Shared Projects — team-wide Claude Projects with shared context

Rollout Strategy for Teams

1
Pilot with 5-10 power users — gather real use cases, not hypotheticals
2
Build a prompt library — document 10 high-value prompts for your team's top tasks
3
Train on trust — teach the team when to trust Claude and when to verify
4
Set a usage policy — which data can be pasted into Claude? What's off-limits?
5
Monthly review — review costs, quality issues, and update prompt library
Lesson 33 Quick Reference
Claude.ai Team

No-code plan for knowledge workers — shared projects, admin panel

Claude API

For builders — you control UX, auth, and costs

Prompt library

Centralised dict of system prompts + model configs per use case

Cost logging

Log input/output tokens + model per call to track spend by feature/team

Enterprise controls

SSO, data retention, model restrictions, org-wide system prompts

Usage policy

Define what data employees can/cannot paste into Claude