Table of Contents
Bedrock Guardrails Standard tier: the grounding check for reasoning-heavy agents
Point Bedrock Guardrails' contextual grounding check at a multi-turn support agent and the Classic tier will flag answers that are correct. Feed it the source "the monthly fee for a checking account is $10," the exact wording in AWS's docs, and a response that reasons its way to "you'd pay $10 a month, plus nothing for domestic transfers," and Classic scores that as partly ungrounded. It rewards verbatim quoting and penalizes paraphrase, which is fine for summarization and bad for anything conversational.
On October 20, 2026, AWS shipped a fix: a Standard tier for contextual grounding checks, sitting alongside the existing Classic tier inside Bedrock Guardrails. We read through the launch post and the underlying docs the day it landed. AWS's own framing is "more robust" scoring, which tells you nothing. The specific failure mode it closes and the region list it's locked to are the parts worth your time, plus one config change that flips a guardrail from one tier to the other without you noticing until a response starts failing differently.
What a contextual grounding check actually catches
A contextual grounding check takes three inputs: a reference source, the user's query, and the model's response, then returns two scores. AWS's docs spell out the two paradigms plainly: grounding checks whether the response is factually supported by the source, and relevance checks whether it actually answers the query. A response can fail either independently.
AWS's own docs give a worked banking example that makes the distinction concrete. Given a source stating "the monthly fee for maintaining a checking account is $10" and "there are no charges associated with domestic transfers":
| Query | Response | Grounded? | Relevant? |
|---|---|---|---|
| "What are the fees for a checking account?" | "$10/month, no charge for domestic transfers, 1% for international" | Yes | Yes |
| "What's the transaction charge on a credit card?" | "23.99%" (stated as the transfer charge, when it's actually the late-payment rate) | No | Yes |
| "What are the charges for using a checking account?" | "The late payment fee for a credit card is 23.99%" | Yes (the fact is in the source) | No |
| Source: AWS's contextual grounding check docs. |
Each score gets a threshold, configurable from 0 to 0.99 (a threshold of 1 would reject everything, so AWS blocks it outright). Set grounding and relevance thresholds to 0.7, and anything scoring below either gets blocked. For conversational and reasoning use cases on the new tier, AWS's own guidance is to start at 0.7 for both and tune from there.
Classic tier vs. Standard tier
The two tiers run the same check with different scoring behavior. That scoring gap is why AWS shipped Standard instead of just patching Classic.
| Classic tier | Standard tier | |
|---|---|---|
| Built for | Summarization, paraphrasing, Q&A | Conversational and reasoning-heavy responses |
| Handles inference/reasoning | No. Any added information lowers the score, even a reasonable inference. | Yes. Scores the same meaning consistently across differently worded responses. |
| Languages | English, French, Spanish | Broader, matching Standard-tier content filters |
| Infrastructure requirement | None | Requires cross-Region inference with a guardrail profile |
| Region availability | Everywhere Guardrails runs | 11 regions (see below) |
| Price | $0.10 per 1,000 text units | Same, $0.10 per 1,000 text units |
| Default if unspecified | Yes | No, you must opt in |
| Source: AWS Bedrock Guardrails docs and AWS Bedrock pricing, both retrieved October 2026. |
That "default if unspecified" row matters more than it looks. If you omit tierConfig in a CreateGuardrail or UpdateGuardrail call, Bedrock quietly uses Classic. AWS's docs call this out explicitly for updates: UpdateGuardrail replaces the whole policy configuration, so updating a Standard-tier guardrail without re-specifying tierConfig silently resets it to Classic. That's an easy way to "fix" a grounding check back into the exact false-positive problem you just solved.
Turning it on
In the console, it's one dropdown: open a guardrail's contextual grounding check settings, pick Standard under "Contextual grounding tier," and enable cross-Region inference with a guardrail profile on the same guardrail's details page. There's no separate toggle buried somewhere else.
Through the API, the shape is a tierConfig block nested inside contextualGroundingPolicyConfig, plus a crossRegionConfig pointing at a guardrail profile:
POST /guardrails HTTP/1.1
Content-type: application/json
{
"name": "support-agent-grounding",
"contextualGroundingPolicyConfig": {
"filtersConfig": [
{ "type": "GROUNDING", "threshold": 0.7, "action": "BLOCK", "enabled": true },
{ "type": "RELEVANCE", "threshold": 0.7, "action": "BLOCK", "enabled": true }
],
"tierConfig": { "tierName": "STANDARD" }
},
"crossRegionConfig": {
"guardrailProfileIdentifier": "<YOUR_GUARDRAIL_PROFILE_ARN>"
}
}
Leave tierConfig out and the request defaults to Classic. Set tierName to STANDARD without a crossRegionConfig, and the request fails validation, because Standard requires cross-Region inference on the guardrail. Picking Standard also opts the guardrail's traffic into cross-Region routing, a separate decision with its own data-residency implications if your org cares which AWS Region physically handles the call.
The 11-region catch
Standard tier for contextual grounding checks specifically (not Guardrails generally, and not Standard tier for content filters or denied topics, which run in more places) is live in exactly 11 regions as of this launch: US East (N. Virginia), US East (Ohio), US West (N. California), US West (Oregon), Europe (Frankfurt), Europe (Ireland), Europe (Milan), Europe (Paris), Europe (Spain), Europe (Stockholm), and Asia Pacific (Tokyo), per AWS's Region support page. Request STANDARD outside that list and the call fails with a ValidationException, full stop. If your guardrail lives in Canada (Central), London, Seoul, Mumbai, Singapore, or any of the other regions where Standard tier works for content filters and denied topics, grounding checks on Standard aren't available to you yet.
What it costs
Pricing didn't change, and AWS says so directly: "the pricing is the same for both standard tier and classic tier," per AWS's Bedrock pricing page. Contextual grounding checks run $0.10 per 1,000 text units, where a text unit is up to 1,000 characters, counted across the combined source, query, and response. A 5,600-character grounding source bills as six text units regardless of which tier evaluates it. The real cost delta isn't the grounding check line item, it's whatever cross-Region inference does to your existing per-token model costs, since Standard forces that routing on.
Where this still doesn't save you
A grounding check only catches hallucinations relative to a source you hand it. It won't stop a model from confidently answering a question your retrieval step failed to surface context for in the first place, and it won't replace an eval suite that scores response quality across a whole test set rather than one call at a time. If you're running evals rather than a runtime guardrail, promptfoo's context-faithfulness assertion does a comparable claim-by-claim check against a reference context, model-agnostic and free to run locally. If you're not on Bedrock at all, Azure AI Content Safety's groundedness detection does the same job for Azure OpenAI deployments, though it's optimized for English content only, and Google's Check Grounding API covers the Vertex AI side with citations back to the source chunks. None of these three are drop-in swaps for each other; they're the same idea implemented against three different model platforms.
The switch, decided
Move to Standard now if your agent is conversational or does any reasoning over retrieved context, and your guardrail already runs in one of the 11 supported regions. The false-positive rate on Classic in that use case is the whole reason Standard exists, and the price is identical, so there's no cost argument for staying put.
Stay on Classic if you're doing straight summarization or single-turn Q&A where verbatim grounding is actually what you want, if you're outside the 11 regions, or if you haven't set up a cross-Region guardrail profile yet and don't want that migration landing the same week as a grounding-tier change. Bundle both: set up cross-Region inference first, confirm it doesn't change your latency or residency posture, then flip the tier.
And if you're mid-migration, re-check every UpdateGuardrail call for the next few weeks. The tier reset on missing tierConfig is the kind of regression that doesn't throw an error. It just quietly changes which of your agent's reasoning-heavy answers get blocked tomorrow.