What Amazon Bedrock actually is
Amazon Bedrock is AWS's fully managed foundation-model service. AWS copies each provider's model into AWS-controlled deployment accounts — one per provider per region — and the providers have no access to those accounts, so they cannot see customer prompts or completions. As of August 2026 the serverless catalog is roughly 120 models across 18 providers, including Anthropic's Claude line through Fable 5 and OpenAI's proprietary GPT-5.x family (GA June and July 2026), with 100+ more models available through the Bedrock Marketplace. Bedrock is currently the only place other than the first parties where Anthropic and OpenAI frontier models sit behind one billing relationship.
There are two inference endpoints, and the split matters when you write code. bedrock-runtime carries the AWS-native Converse and InvokeModel APIs, OpenAI-compatible Chat Completions and Responses, Anthropic Messages, Guardrails, and cross-region inference profiles. bedrock-mantle carries the OpenAI-compatible and Anthropic APIs with server-side tools, background inference, and Projects, and lacks Guardrails, cross-region profiles, and model invocation logging. Authentication is IAM SigV4 or plain API keys that work directly with the OpenAI SDK.
Where Bedrock is the right choice
Bedrock's default privacy posture is exceptionally strong for a hosted model platform. Model inputs and outputs are not stored by default, no AWS operator can read them, customer content is not used to train base models, and the 2026 Data Retention API adds a none mode, enforceable org-wide through SCPs, in which any model that requires retention becomes unavailable rather than retaining. Compliance depth is real: HIPAA-eligible (excluding the Fable and Mythos models), FedRAMP Class C and Class D including GovCloud, SOC 1/2/3, FIPS-validated endpoints, and PrivateLink.
Pricing is a genuine strength too. There is no gateway markup: you pay AWS's listed per-token price, metered on your AWS bill, counting toward committed spend. AWS passed OpenAI's July 30, 2026 cuts through — GPT-5.6 Luna dropped 80% to $0.20 input / $1.20 output per million tokens — and batch and flex tiers each take 50% off, with global cross-region routing about 10% cheaper than geographic. If your infrastructure, identity, and compliance program already live on AWS, Bedrock is a strong default and this page will not talk you out of it.
Three differences that decide it
Verification kind. Bedrock's no-storage posture is policy backed by audits: AWS documentation, SOC reports, contract terms. TrustedRouter makes the equivalent claim mechanically checkable: api.trustedrouter.com runs inside hardware enclaves on three clouds (GCP Confidential Space, AWS Nitro Enclaves, Azure Confidential Containers), and anyone can verify that the running build matches the published source and release digests from trust.trustedrouter.com. Realtime inference does not write prompt or output content to durable storage, and every line of gateway code that touches your prompt is public.
Carve-outs versus routes. Bedrock's zero-retention default now has flagship exceptions: classifier-flagged GPT-5.x traffic is retained up to 30 days, and Claude Fable 5 and Mythos 5 require retention with data sharing to Anthropic and potential human review — AWS's launch blog says plainly that once you opt in to data retention, "your data will leave AWS's data and security boundary." Bedrock manages this with account-level retention modes, and eligible customers can request full zero-data-retention for retention-requiring models through their AWS account team. TrustedRouter manages it with routing: trustedrouter/zdr restricts a request to providers with a cited zero-data-retention posture, trustedrouter/e2e restricts to confidential-compute providers with end-to-end encryption (tinfoil, phala), and trustedrouter/eu pins the EU provider set. Privacy floors compose with any request, so the constraint travels with the call rather than the account.
Cloud neutrality, with the fee stated. Bedrock is one cloud: IAM identity, per-region model availability, and no Google Gemini (only open-weight Gemma). TrustedRouter routes 550+ model routes across roughly 49 providers (as of August 2026) with one key, including Google routes. The pricing bases differ, so here are both: Bedrock adds no fee over its listed model prices; TrustedRouter prepaid bills the provider's token price plus 5.5%, with a $0.01 per million token floor (pricing). Where Bedrock's listed price matches the provider's own — AWS matched OpenAI's first-party cuts, for example — Bedrock is cheaper by our 5.5% fee. Base prices are not identical everywhere: Bedrock lists legacy Claude 3.5 Sonnet at a 2x extended-access surcharge, so compare the exact SKUs you run. BYOK is supported; we do not publish a separate BYOK fee.
What we do not claim
- Our attestation covers the gateway and stops there. Downstream model providers are covered by cited policy tiers, except the E2E routes (tinfoil, phala), where the provider's own confidential-compute and encryption mechanisms apply.
- We publish no SOC 2 or HIPAA certification. If either is a hard requirement today, Bedrock wins this comparison outright.
- Our repos are young: public since late April 2026, with benchmark history from June 2026. AWS's operating track record is measured in decades.
- The gateway and control plane are source-available under BUSL-1.1, converting to Apache-2.0 four years after each release; the SDKs are Apache-2.0 or MIT. We do not call the platform open source.
Migration reality
If your app already uses Bedrock's OpenAI-compatible Chat Completions or Responses APIs, moving is mechanical: change the base URL and API key, then remap Bedrock model ids (such as anthropic.claude-... or inference-profile ARNs) to catalog names on /models. Apps built on Converse or InvokeModel need a request-shape rewrite first; those are AWS-native shapes no gateway speaks.
What does not carry over: IAM and SCP enforcement, Guardrails, Knowledge Bases and Agents, PrivateLink, CloudWatch and CloudTrail wiring, and spend that counted toward AWS commitments all stay behind. Stateful Responses conversations created with store=true are pinned to the AWS region that served them, so export or reset that state before cutover. Start with one streamed request, compare output, latency, and billed usage, and read /security and the status page before routing anything sensitive.