CertSafari
    Anthropic Claude Certified Developer – Foundations (CCDV-F)· Lessons

    Domain 2 · Lesson 4/25

    Infrastructure requirements: platform, data residency, ZDR and capacity

    Understanding Requirements

    13 min read
    5.52% of exam
    9 sources
    Published 12 Oct 2026
    Docs as of 30 Sep 2026

    What you will be able to do

    • Choose a deployment platform from the customer's existing cloud and who processes the data
    • Enforce US-only inference with inference_geo and workspace geo controls
    • Recognize when a requirement calls for Zero Data Retention and which features break it
    • Size capacity with rate limits, spend limits and Priority Tier

    1.Choosing the platform from the customer's cloud

    Infrastructure requirements usually start with where the customer already runs. If a company has AWS billing, IAM and CloudTrail auditing in place, it will want Claude on that cloud, not a new vendor relationship. Each platform bills through its own cloud and plugs into that cloud's identity and audit tools.

    Platforms matched to the customer's existing infrastructure
    PlatformBest forBillingEnterprise controls
    Anthropic Console (Claude API)Individual developersPAYGUsage dashboard
    Amazon BedrockAWS-native deploymentsPAYG through AWSIAM policies, CloudTrail
    Claude Platform on AWSAWS Marketplace billing with Claude API featuresPAYG through AWS MarketplaceIAM policies, CloudTrail
    Google Cloud's Agent Platform, formerly Vertex AIGCP-native deploymentsPAYG through GCPIAM roles, Cloud Audit Logs
    Microsoft FoundryAzure-native deploymentsPAYG through AzureRBAC policies, Azure Monitor

    The two AWS rows look alike but have different operators, and that matters for compliance. Bedrock is AWS-operated. Claude Platform on AWS is Anthropic-operated and runs on AWS. Google Cloud is Google-operated, and Microsoft Foundry is Anthropic-operated on Azure. The operator decides whose retention and residency controls apply: on Bedrock and Google Cloud, the cloud provider is the data processor, so Anthropic's own controls described below don't apply there.

    Checkpoint 1 of 7· Check yourself

    An AWS-native customer wants AWS Marketplace billing but also needs Claude API features such as the inference_geo parameter. Which platform fits?

    Sources12

    2.Data residency: where inference runs and where data rests

    A requirement like "inference must run in the United States" maps to two independent settings. Inference geo controls where model inference runs. You set it per request with the inference_geo parameter or as a workspace default. Workspace geo controls where data is stored at rest and where endpoint processing such as code execution happens. You choose it when you create a workspace and can't change it later. Currently "us" is the only workspace geo, and inference_geo accepts only "us" or "global", which is the default.

    Checkpoint 2 of 7· Fill the gap

    Which parameter keeps this request's inference in the US?

    response = client.messages.create(
        model="claude-opus-5-5",
        max_tokens=1024,
         ? ="us",
        messages=[
            {"role": "user", "content": "Summarize the key points of this document."}
        ],
    )

    Leaving the parameter in every request's code is not enough if a regulator needs the rule enforced. At the workspace level, allowed_inference_geos rejects any request that asks for a geo outside the list, and default_inference_geo applies when a request leaves the parameter out. Set both to "us" and every key in the workspace is held to US inference. You can confirm where a given request ran from its usage object:

    The response usage object reports where inference actually ranjson
    {
      "usage": {
        "input_tokens": 25,
        "output_tokens": 150,
        "inference_geo": "us"
      }
    }

    US residency affects model choice and budget. inference_geo works only on Claude 4.6 and later models. On Haiku 4.5, the parameter returns a 400 error, so a US-only requirement removes it from the candidates. On supported models, US-only inference costs 1.1x the standard rate. That multiplier applies on the Claude API and Claude Platform on AWS. Bedrock and Google Cloud have their own regional pricing. Rate limits are shared across all geos, so moving traffic to "us" does not give you extra capacity.

    Checkpoint 3 of 7· Check yourself

    A team on the Claude API adds inference_geo="us" to its Claude Haiku 4.5 requests to meet a residency rule. What happens?

    Checkpoint 4 of 7· Exam question

    A customer support session sends the same lengthy system prompt, containing product policies and tone guidelines, on every turn of a multi-turn conversation. The team wants to reduce the repeated processing cost and latency of that unchanged content. Which feature should they enable?

    Sources3

    3.Zero Data Retention: what it covers and what breaks it

    Zero Data Retention (ZDR) is the answer when a requirement says the vendor must not keep prompts or outputs. Without ZDR, the API deletes inputs and outputs within 30 days. With it, customer data isn't stored at rest once the API response is returned. ZDR is a contractual arrangement, not a request flag. It is enabled per organization, and a new organization under the same account doesn't inherit it.

    ZDR has two exceptions. First, even under ZDR, Anthropic may keep data where the law requires it. If automated trust and safety systems flag a chat or session, inputs and outputs may be kept for up to 2 years. Second, ZDR covers only eligible features, and an ineligible feature isn't blocked. If a request uses one, that data falls outside the arrangement without any error.

    Feature eligibility under ZDR
    FeatureZDR eligibleWhat is kept
    Messages APIYesNothing stored after the response
    Prompt cachingYesKV cache and hashes held in memory for the cache TTL
    Structured outputsYes (qualified)Only the JSON schema, up to 24 hours since last use
    Batch processingNo29-day retention; async storage required
    Files APINoFiles kept until deleted or expired
    Code executionNoContainer data up to 30 days
    Claude Managed AgentsNoTranscripts persist until you delete them

    For an architect, the rule is to design the solution around stateless Messages API calls and leave out stateful features. A ZDR customer also loses some cost options. The Batch API's 50% discount, for example, requires asynchronous storage. ZDR also limits model choice, through a designation called Covered Models. A Covered Model is one for which Anthropic requires limited data retention and review as part of its safety work, so it can't run under zero retention. Claude Fable 5.1 is one. Unless Anthropic has expressly authorized it for your organization, a request to a Covered Model from a zero-retention workspace fails with the error "In order to access this model, your organization or Workspace must have data retention enabled." The fix is to turn on 30-day data retention for a workspace, which an organization Admin or Owner can do under the workspace's Privacy controls in the Console; it applies to that workspace only and isn't retroactive. Check whether a model is Covered before promising ZDR alongside it. Finally, ZDR applies only where Anthropic is the data processor. It is available on the Claude API and, on request, on Claude Platform on AWS. On Bedrock and Google Cloud, use that provider's retention controls.

    Checkpoint 5 of 7· Check yourself

    A ZDR customer adds the Batch API to cut costs on overnight jobs. What happens to those requests?

    Checkpoint 6 of 7· Exam question

    An agent needs to retrieve and analyze the full content of specific web pages and PDF documents referenced during a conversation, using a platform-run tool rather than infrastructure the customer hosts. Which built-in tool satisfies this functional requirement?

    Sources245

    4.Sizing capacity: rate limits, spend limits and Priority Tier

    Expected volume is also a requirement, and it maps to limits that apply to the whole organization. Messages API rate limits are measured in requests per minute (RPM), input tokens per minute (ITPM) and output tokens per minute (OTPM). Each model has its own limits. Going over any of them returns a 429 with a retry-after header. Most current models allow 1,000 RPM, 2,000,000 ITPM and 400,000 OTPM. Claude Fable 5.x allows only 500,000 ITPM and 100,000 OTPM, so a high-throughput requirement can rule it out even when it would win on quality.

    Two details change the sizing calculation. First, prompt caching lets you reuse repeated content, such as system instructions, tool definitions and large documents, across requests. The part of a request served from that cache is reported as cache_read_input_tokens, and for most models those cache reads don't count toward ITPM. With a 2,000,000 ITPM limit and an 80% cache hit rate, you can process about 10,000,000 input tokens per minute. Second, max_tokens doesn't count toward OTPM; only tokens actually generated do. One thing doesn't change: every limit is a ceiling, not a promise of capacity.

    Limits and spend caps both come from the organization's usage tier. Anthropic places an organization on a tier automatically, based on usage history and account standing, and the organization can move to a higher tier over time as it uses the API. New organizations and those with little history may start in an Evaluation tier with limits below the standard ones, which rise automatically as history builds. The Console's Rate limits page shows your tier and current limits, and higher limits can be requested.

    Usage tiers and their monthly spend caps
    Usage tierMonthly spend cap
    Start$500 USD
    Build$1,000 USD
    Scale$200,000 USD
    CustomNo cap; arranged with the account team

    Spend caps fail differently from rate limits. When an organization reaches its tier's cap, usage pauses until 00:00 UTC on the first day of the next month. Requests return a 429 with error code enforced_spend_limit_reached and no retry-after header, so automatic retries keep failing. A spend limit you set yourself below the cap returns HTTP 400 instead. Budget the tier to cover peak months, not average months.

    For a requirement of guaranteed throughput, use Priority Tier. It is available only with a capacity commitment: input and output tokens per minute, a term of 1, 3, 6 or 12 months, and a specific model version. Priority requests are served ahead of all other traffic, Priority Tier targets 99.5% uptime, and requests beyond the commitment fall back to standard tier. It isn't offered on Claude Fable 5.1, Opus 5.5, Opus 5, Sonnet 5.5 or Sonnet 5. A requirement for both guaranteed throughput and one of those models is a conflict you have to resolve, either by changing the model or by relaxing the guarantee.

    Checkpoint 7 of 7· Check yourself

    A customer needs contractually prioritized throughput with a 99.5% uptime target and plans to standardize on Claude Sonnet 5.5. What is the issue?

    Sources678

    Exam traps

    Each one states something that sounds right. Open it to see what is actually true.

    1. 1.Under ZDR, Anthropic never retains anything from the customer's traffic.Why is that wrong?

      Data may still be kept where the law requires it, or for up to 2 years if trust and safety systems flag it. Ineligible features such as the Batch API also keep data under their own policies.

      Covered in Zero Data Retention: what it covers and what breaks it

    2. 2.Your tier's published rate limits guarantee that much capacity.Why is that wrong?

      Rate limits are ceilings. Prioritized capacity requires a Priority Tier commitment.

      Covered in Sizing capacity: rate limits, spend limits and Priority Tier

    3. 3.Setting inference_geo to "us" adds US capacity alongside global capacity.Why is that wrong?

      Rate limits are shared across all geos, so US-only traffic counts against the same limits.

      Covered in Data residency: where inference runs and where data rests

    Practise it for real

    Verify that a request runs on US-only inference and see what happens on an unsupported model

    1. 1.Send a Messages API request to claude-opus-5-5 with inference_geo="us"

      Why: The per-request parameter is the most direct way to meet a US inference requirement

      You should see: A normal response

    2. 2.Print response.usage.inference_geo

      Why: The usage object records where inference actually ran, which gives you evidence for an audit

      You should see: The value "us"

    3. 3.Repeat the request with model claude-haiku-4-5 and the same inference_geo

      Why: Shows that a residency requirement can remove a model from the candidates

      You should see: A 400 error, because Haiku 4.5 predates Claude 4.6

    Stuck? Get a nudge

    For enforcement across every key, set allowed_inference_geos and default_inference_geo on the workspace instead of relying on each request.

    Sources

    Every claim above is drawn from one of these pages, quoted as it was written on the date shown.

    1. 1.
      “Claude API (Anthropic first-party) · Bedrock (AWS-operated) · Claude Platform on AWS (Anthropic-operated on AWS)”
      ↩︎ Choosing the platform from the customer's cloud
    2. 2.
      “On Bedrock and Google Cloud, the cloud provider is the data processor”
      ↩︎ Choosing the platform from the customer's cloud
      “ZDR prevents customer data from being stored at rest after the API response is returned.”
      ↩︎ Zero Data Retention: what it covers and what breaks it
      “ZDR is enabled on a per-organization basis.”
      ↩︎ Zero Data Retention: what it covers and what breaks it
      “if a chat or session is flagged, Anthropic may retain inputs and outputs for up to 2 years.”
      ↩︎ Exam trap 1
      “Using them is a choice to step outside your ZDR arrangement for that specific data.”
      ↩︎ Checkpoint
    3. 3.
      “Inference geo: Controls where model inference runs, on a per-request basis.”
      ↩︎ Data residency: where inference runs and where data rests
      “If a request specifies an inference_geo not in this list, the API returns an error.”
      ↩︎ Data residency: where inference runs and where data rests
      “Partner-operated platforms (Bedrock and Google Cloud) have their own regional pricing.”
      ↩︎ Data residency: where inference runs and where data rests
      “Shared rate limits: Rate limits are shared across all geos.”
      ↩︎ Exam trap 3
      “Requests with inference_geo on Claude Opus 4.5, Claude Sonnet 4.5, Claude Haiku 4.5, or earlier models return a 400 error.”
      ↩︎ Checkpoint
    4. 4.
      “require 30-day data retention and aren't available under zero data retention”
      ↩︎ Zero Data Retention: what it covers and what breaks it
      “In order to access this model, your organization or Workspace must have data retention enabled.”
      ↩︎ Zero Data Retention: what it covers and what breaks it
    5. 5.
      “for Covered Models, we require limited data retention and review as a part of our safety work”
      ↩︎ Zero Data Retention: what it covers and what breaks it
    6. 6.
      “measured in requests per minute (RPM), input tokens per minute (ITPM), and output tokens per minute (OTPM) for each model class”
      ↩︎ Sizing capacity: rate limits, spend limits and Priority Tier
      “Claude Fable 5.x1 | 1,000 | 500,000 | 100,000”
      ↩︎ Sizing capacity: rate limits, spend limits and Priority Tier
      “Organizations are placed on a tier automatically based on usage history and account standing”
      ↩︎ Sizing capacity: rate limits, spend limits and Priority Tier
      “All limits described here represent maximum allowed usage, not guaranteed minimums.”
      ↩︎ Exam trap 2
    7. 7.
      “cache_read_input_tokens: Tokens retrieved from cache (everything before cache breakpoints that was cached)”
      ↩︎ Sizing capacity: rate limits, spend limits and Priority Tier
    8. 8.
      “Priority Tier targets 99.5% uptime with prioritized computational resources.”
      ↩︎ Sizing capacity: rate limits, spend limits and Priority Tier
      “Requests beyond your committed capacity automatically fall back to standard tier.”
      ↩︎ Sizing capacity: rate limits, spend limits and Priority Tier
      “Claude Opus 5, Claude Sonnet 5.5, and Claude Sonnet 5.”
      ↩︎ Checkpoint

    Also cited

    Ready to test yourself?

    Practise the 22 questions on this subdomain.

    Spotted a mistake, or was something unclear? Tell us.