Twilio's API: The Other Gold Standard and Why It's Stripe's True Equal
<p><em>How Twilio turned phone calls and text messages into elegant REST resources.</em></p> <p>In 2008, a startup had an absurd pitch: "We'll let developers send text messages and make phone calls with a few lines of code."</p> <p>That was Twilio. And the "few lines of code" part wasn't marketing—it was literal:<br> </p> <div class="highlight js-code-highlight"> <pre class="highlight python"><code><span class="kn">from</span> <span class="n">twilio.rest</span> <span class="kn">import</span> <span class="n">Client</span> <span class="n">client</span> <span class="o">=</span> <span class="nc">Client</span><span class="p">(</span><span class="sh">"</span><span class="s">ACCOUNT_SID</span><span class="sh">"</span><span class="p">,</span> <span class="sh">"</span><span class="s">AUTH_TOKEN</sp
How Twilio turned phone calls and text messages into elegant REST resources.
In 2008, a startup had an absurd pitch: "We'll let developers send text messages and make phone calls with a few lines of code."
That was Twilio. And the "few lines of code" part wasn't marketing—it was literal:
from twilio.rest import Client
client = Client("ACCOUNT_SID", "AUTH_TOKEN") client.messages.create( body="Hello from Twilio!", from_="+15551234567", to="+15559876543" )`_
Enter fullscreen mode
Exit fullscreen mode
Five lines. An SMS flies across the world. No carrier negotiations, no telecom infrastructure, no SMPP protocol headaches.
In our series analyzing the world's most important APIs, we've seen Stripe (the gold standard), Reddit (a cautionary tale), and X (a rise-fall-maybe-redemption arc). Now we turn to Twilio—the API that did for telecommunications what Stripe did for payments.
And in many ways, Twilio did it first.
The Core Insight: Telecom as REST Resources
Twilio's fundamental design decision was treating every telecom concept as a REST resource. This sounds obvious now, but in 2008, telecom APIs were SOAP nightmares with 200-page integration guides.
Twilio said: What if a phone call was just a resource you could POST?
POST /2010-04-01/Accounts/{AccountSid}/Calls.json
Enter fullscreen mode
Exit fullscreen mode
{ "To": "+15558675310", "From": "+15551234567", "Url": "https://your-app.com/voice-handler" }{ "To": "+15558675310", "From": "+15551234567", "Url": "https://your-app.com/voice-handler" }Enter fullscreen mode
Exit fullscreen mode
That's it. You've initiated a phone call. The response is a Call resource:
{ "sid": "CA1234567890abcdef1234567890abcdef", "status": "queued", "direction": "outbound-api", "from": "+15551234567", "to": "+15558675310", "date_created": "Wed, 01 Apr 2026 07:37:00 +0000", "uri": "/2010-04-01/Accounts/AC.../Calls/CA...json" }{ "sid": "CA1234567890abcdef1234567890abcdef", "status": "queued", "direction": "outbound-api", "from": "+15551234567", "to": "+15558675310", "date_created": "Wed, 01 Apr 2026 07:37:00 +0000", "uri": "/2010-04-01/Accounts/AC.../Calls/CA...json" }Enter fullscreen mode
Exit fullscreen mode
Every telecom primitive maps to a clean REST resource:
Real World Twilio Resource Endpoint
Text message
Message
/Messages
Phone call
Call
/Calls
Phone number
IncomingPhoneNumber
/IncomingPhoneNumbers
Recording
Recording
/Recordings
Conference call
Conference
/Conferences
Voicemail Recording + Transcription
/Recordings, /Transcriptions
Queue (hold music)
Queue
/Queues
If you understand REST, you understand Twilio. No telecom knowledge required.
Pattern 1: The SID System — Prefixed IDs Done Differently
Like Stripe (ch_, cus_) and Reddit (t1_, t3_), Twilio uses prefixed identifiers. But Twilio's system is more structured:
AC1234567890abcdef1234567890abcdef → Account CA1234567890abcdef1234567890abcdef → Call SM1234567890abcdef1234567890abcdef → SMS Message MM1234567890abcdef1234567890abcdef → MMS Message PN1234567890abcdef1234567890abcdef → Phone Number RE1234567890abcdef1234567890abcdef → Recording CF1234567890abcdef1234567890abcdef → ConferenceAC1234567890abcdef1234567890abcdef → Account CA1234567890abcdef1234567890abcdef → Call SM1234567890abcdef1234567890abcdef → SMS Message MM1234567890abcdef1234567890abcdef → MMS Message PN1234567890abcdef1234567890abcdef → Phone Number RE1234567890abcdef1234567890abcdef → Recording CF1234567890abcdef1234567890abcdef → ConferenceEnter fullscreen mode
Exit fullscreen mode
The pattern: 2-letter prefix + 32 hex characters (128-bit UUID equivalent).
Why this matters:
-
Debugging at a glance: See CA in logs? That's a call. SM? An SMS.
-
Type safety without types: You physically cannot pass a Call SID where a Message SID is expected.
-
Consistent length: Every SID is exactly 34 characters. Makes database schema design trivial.
Compared to Stripe:
-
Stripe: Variable-length prefixes (ch_, cus_, pi_) + variable-length random string
-
Twilio: Fixed 2-char prefix + fixed 32-char hex string_
Both approaches work. Twilio's is more rigid; Stripe's is more readable. Both are light-years ahead of raw UUIDs.
Pattern 2: TwiML — Programmable Behavior via Markup
This is Twilio's most unique innovation, and nothing else in the API world quite matches it.
When someone calls your Twilio number, Twilio hits your webhook URL. Your server responds not with JSON, but with TwiML (Twilio Markup Language):
`
Hello! Thanks for calling.
Press 1 for sales. Press 2 for support.
`
Enter fullscreen mode
Exit fullscreen mode
What this achieves:
-
Declarative call control: Describe what should happen, not how
-
Language agnostic: Any server that returns XML works—PHP, Python, Ruby, a static file
-
Composable: Nest elements to build complex IVR flows
-
Testable: It's just XML. Test it like any other HTTP response.
Core TwiML verbs:
Verb Purpose
`` Text-to-speech
`` Play an audio file
`` Collect keypad input
`` Record the caller
`` Connect to another number
`` Put caller in a queue
`` Redirect to another TwiML document
`` End the call
`` Wait N seconds
For messaging, there's a verb:
Thanks for your message! We'll get back to you soon. Thanks for your message! We'll get back to you soon.Enter fullscreen mode
Exit fullscreen mode
Why this is brilliant: TwiML turns real-time telecom into a request-response pattern that web developers already understand. You don't need to manage WebSockets, state machines, or telephony protocols. Just return XML.
No other API has invented a custom markup language that actually stuck.
Pattern 3: The Base URL That Never Changed
Look at Twilio's primary API base URL:
https://api.twilio.com/2010-04-01
Enter fullscreen mode
Exit fullscreen mode
That's not a typo. The date in the URL is April 1, 2010—and it's been stable for 16 years.
Twilio's versioning philosophy:
-
Major versions are permanent: 2010-04-01 is still the primary API
-
New products get new base URLs: messaging.twilio.com/v1, voice.twilio.com/v1
-
No breaking changes to existing resources: New fields are additive
-
Backward compatibility is non-negotiable
Compare this to:
-
Stripe: Date-based versioning per-account (more granular, auto-pinned)
-
X: v1.1 → v2 (broke the ecosystem)
-
Reddit: /api/v1/ (unclear upgrade path)
Twilio's approach is the most conservative: the API just doesn't break. Period. If your integration worked in 2010, it works today.
The trade-off? The 2010-04-01 base URL carries some legacy patterns (more on this later). But the stability is unmatched.
Pattern 4: Authentication — Simple by Default, Flexible When Needed
Twilio uses HTTP Basic Auth as the primary authentication method:
curl -u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN" \ https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Messages.jsoncurl -u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN" \ https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Messages.jsonEnter fullscreen mode
Exit fullscreen mode
Account SID + Auth Token. That's your identity.
For production apps, Twilio recommends API Keys:
curl -u "$TWILIO_API_KEY:$TWILIO_API_SECRET" \ https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Messages.jsoncurl -u "$TWILIO_API_KEY:$TWILIO_API_SECRET" \ https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Messages.jsonEnter fullscreen mode
Exit fullscreen mode
Why this works:
-
Low barrier to entry: Copy two strings, start making requests
-
API Keys for production: Create, revoke, rotate without touching your master auth token
-
No OAuth complexity: For server-to-server APIs, Basic Auth is the right choice
-
Subaccount isolation: Create subaccounts with separate credentials for multi-tenant apps
Compare to X's four authentication methods across two API versions. Twilio's approach is: one method for testing, one for production. Done.
Pattern 5: Webhooks as a First-Class Citizen
Twilio's webhook implementation is among the best in the industry.
The flow:
1. Event occurs (incoming call, SMS received) 2. Twilio POSTs to your configured webhook URL 3. Your server processes the event 4. Your server responds with instructions (TwiML) 5. Twilio executes the instructions1. Event occurs (incoming call, SMS received) 2. Twilio POSTs to your configured webhook URL 3. Your server processes the event 4. Your server responds with instructions (TwiML) 5. Twilio executes the instructionsEnter fullscreen mode
Exit fullscreen mode
What Twilio gets right:
Request Validation
Every webhook request includes a signature you can verify:
X-Twilio-Signature: base64-encoded-HMAC-SHA1
Enter fullscreen mode
Exit fullscreen mode
Twilio provides validation helpers in every SDK:
from twilio.request_validator import RequestValidator
validator = RequestValidator(auth_token) is_valid = validator.validate(url, params, signature)`
Enter fullscreen mode
Exit fullscreen mode
Status Callbacks
Track the lifecycle of every message and call:
Message: queued → sending → sent → delivered (or failed/undelivered) Call: queued → ringing → in-progress → completed (or busy/no-answer/failed)Message: queued → sending → sent → delivered (or failed/undelivered) Call: queued → ringing → in-progress → completed (or busy/no-answer/failed)Enter fullscreen mode
Exit fullscreen mode
Each status change triggers a webhook to your StatusCallback URL.
Connection Overrides
Configure fallback URLs, timeout behavior, and retry policies:
{ "Url": "https://primary.example.com/handler", "FallbackUrl": "https://backup.example.com/handler", "StatusCallback": "https://example.com/status", "StatusCallbackMethod": "POST" }{ "Url": "https://primary.example.com/handler", "FallbackUrl": "https://backup.example.com/handler", "StatusCallback": "https://example.com/status", "StatusCallbackMethod": "POST" }Enter fullscreen mode
Exit fullscreen mode
Pattern 6: Subaccounts — Multi-Tenancy Built In
Most APIs make you figure out multi-tenancy yourself. Twilio builds it into the platform:
POST /2010-04-01/Accounts.json FriendlyName=Client+ABCPOST /2010-04-01/Accounts.json FriendlyName=Client+ABCEnter fullscreen mode
Exit fullscreen mode
This creates a subaccount with:
-
Its own SID and Auth Token
-
Isolated resources (phone numbers, messages, calls)
-
Separate billing
-
Full API access scoped to that account
Use cases:
-
SaaS platforms where each customer gets their own Twilio resources
-
Agencies managing multiple clients
-
Development/staging/production environment isolation
Master Account (AC_master...) ├── Subaccount: Client A (AC_clientA...) │ ├── Phone Numbers │ ├── Messages │ └── Calls ├── Subaccount: Client B (AC_clientB...) │ └── ... └── Subaccount: Staging (AC_staging...) └── ...Master Account (AC_master...) ├── Subaccount: Client A (AC_clientA...) │ ├── Phone Numbers │ ├── Messages │ └── Calls ├── Subaccount: Client B (AC_clientB...) │ └── ... └── Subaccount: Staging (AC_staging...) └── ...Enter fullscreen mode
Exit fullscreen mode
This pattern is rare in major APIs. Stripe has Connect (for marketplaces), but Twilio's subaccount model is more general-purpose and easier to reason about.
Pattern 7: Comprehensive Error Handling
Twilio's error system is thorough:
{ "code": 21211, "message": "The 'To' number +1555INVALID is not a valid phone number.", "more_info": "https://www.twilio.com/docs/errors/21211", "status": 400 }{ "code": 21211, "message": "The 'To' number +1555INVALID is not a valid phone number.", "more_info": "https://www.twilio.com/docs/errors/21211", "status": 400 }Enter fullscreen mode
Exit fullscreen mode
What stands out:
-
Numeric error codes: Every error has a unique code (not just HTTP status)
-
Human-readable message: Tells you exactly what's wrong
-
Documentation link: more_info URL goes directly to a page explaining the error, common causes, and solutions
-
Extensive error catalog: Twilio maintains a searchable database of 500+ error codes
Error code ranges by product:
10000s — Account and authentication 20000s — Messaging 30000s — Voice 40000s — Phone Numbers 50000s — SIP 60000s — Video10000s — Account and authentication 20000s — Messaging 30000s — Voice 40000s — Phone Numbers 50000s — SIP 60000s — VideoEnter fullscreen mode
Exit fullscreen mode
Compare to Reddit's inconsistent error formats or X's generic "Rate limit exceeded." Twilio's approach means you can programmatically handle every error case.
Pattern 8: The Documentation Philosophy
Twilio's documentation is consistently ranked among the best in tech. Here's why:
Quickstarts per Language
Not just "here's the cURL command." Twilio provides complete quickstarts in:
-
Node.js, Python, Ruby, PHP, Java, C#, Go
-
Each with full working code, not snippets
Interactive Code Samples
Every API endpoint page includes:
-
A live code example
-
A "Try it" section
-
Response samples for success AND error cases
The "Copy as Markdown" Button
Twilio docs have a "View as Markdown" and "Copy as Markdown" option on every page. This is a small detail that shows deep understanding of developer workflows—developers often paste API docs into READMEs, tickets, and chat.
Tutorials That Actually Work
Twilio's tutorials are full applications, not toy examples:
-
"Build an IVR phone tree"
-
"Build an automated survey"
-
"Create an appointment reminder system"
Each tutorial includes complete source code, deployment instructions, and explains the why, not just the how.
What Twilio Gets Wrong (Or Could Improve)
No API is perfect. Here's where Twilio falls short:
1. The 2010 Base URL Shows Its Age
The primary API at api.twilio.com/2010-04-01 carries legacy patterns:
-
Form-encoded requests: POST bodies use application/x-www-form-urlencoded, not JSON
-
Account SID in every URL: /Accounts/{AccountSid}/Messages.json—repetitive when the SID is already in the auth header
-
Mixed conventions: Some newer endpoints use JSON request bodies, creating inconsistency
# Old-style: form-encoded curl -X POST "https://api.twilio.com/2010-04-01/Accounts/$SID/Messages.json" \ -u "$SID:$TOKEN" \ --data-urlencode "Body=Hello" \ --data-urlencode "From=+15551234567" \ --data-urlencode "To=+15559876543"# Old-style: form-encoded curl -X POST "https://api.twilio.com/2010-04-01/Accounts/$SID/Messages.json" \ -u "$SID:$TOKEN" \ --data-urlencode "Body=Hello" \ --data-urlencode "From=+15551234567" \ --data-urlencode "To=+15559876543"Newer services use JSON bodies
but the core API still uses form encoding`
Enter fullscreen mode
Exit fullscreen mode
Stripe accepts JSON bodies everywhere. Twilio's core API doesn't. This is the cost of never breaking backward compatibility.
2. Multiple Base URLs
As Twilio expanded, new products got new base URLs:
api.twilio.com/2010-04-01 → Messaging, Voice, Accounts messaging.twilio.com/v1 → Messaging Services, Deactivations voice.twilio.com/v1 → Dialing Permissions, Settings voice.twilio.com/v2 → Client configuration pricing.twilio.com/v1 → Pricing data verify.twilio.com/v2 → Verify API video.twilio.com/v1 → Videoapi.twilio.com/2010-04-01 → Messaging, Voice, Accounts messaging.twilio.com/v1 → Messaging Services, Deactivations voice.twilio.com/v1 → Dialing Permissions, Settings voice.twilio.com/v2 → Client configuration pricing.twilio.com/v1 → Pricing data verify.twilio.com/v2 → Verify API video.twilio.com/v1 → VideoEnter fullscreen mode
Exit fullscreen mode
Seven base URLs across three versioning schemes (2010-04-01, v1, v2). Compared to Stripe's single api.stripe.com, this adds cognitive load.
3. Pricing Complexity
Twilio's pay-per-use pricing is transparent, but the number of variables can be overwhelming:
-
Different rates per country
-
Different rates per channel (SMS vs MMS vs WhatsApp)
-
Carrier surcharges
-
Phone number monthly fees
-
Different pricing for local vs toll-free vs short codes
-
Volume discounts at undisclosed thresholds
A simple "send an SMS in the US" involves:
Message cost: $0.0079 Carrier fee: $0.003 (varies) Phone number: $1.15/monthMessage cost: $0.0079 Carrier fee: $0.003 (varies) Phone number: $1.15/monthEnter fullscreen mode
Exit fullscreen mode
It works, and it's fair. But estimating costs before building is harder than it should be.
4. The Twilio-to-Segment Integration Complexity
Since acquiring Segment in 2020, Twilio has been pushing a unified customer data story. But the APIs are still separate platforms with separate authentication, separate documentation, and separate pricing. The "one platform" story hasn't reached the API layer yet.
Twilio vs. Stripe: A Head-to-Head
These two are often called the twin pillars of great API design. How do they compare?
Aspect Twilio Stripe
Founded 2008 2010
Auth Basic Auth (SID + Token) API Key
ID format
CA + 32 hex chars (fixed)
ch_ + variable random (flexible)_
Versioning
Date in URL (2010-04-01)
Date in header (2024-10-28)
Request format Form-encoded (legacy) / JSON (new) JSON everywhere
Unique innovation TwiML (markup for call control) Expandable objects, idempotency keys
Multi-tenancy Subaccounts (built-in) Connect (marketplace-focused)
Webhooks Request validation + TwiML response Event objects + webhook signatures
Error handling Numeric codes + doc links Type/code/param + doc links
Base URLs 7+ domains 1 domain
Backward compat 16 years unbroken Date-pinned per account
Documentation Language-specific quickstarts Three-column interactive
The verdict: Both are excellent. Stripe is more elegant in its consistency. Twilio is more innovative in its domain-specific design (TwiML). If Stripe is a beautifully designed Swiss watch, Twilio is a Swiss Army knife—slightly less polished, but remarkably versatile.
The Bigger Picture: What Twilio Teaches
1. Domain-Specific Abstractions Win
TwiML is Twilio's superpower. By creating a markup language specifically for call control, they turned a complex real-time protocol into something any web developer could handle.
The lesson: Sometimes the best API design isn't more REST—it's inventing a new abstraction that maps to your domain.
2. Stability Is a Feature
The 2010-04-01 base URL hasn't changed in 16 years. That's not technical debt—that's a promise. Developers who integrated Twilio in 2010 are still running the same code.
The lesson: If you're choosing between "modern" and "stable," stable wins every time.
3. Authentication Should Match Your Use Case
Twilio uses Basic Auth because their API is server-to-server. No OAuth flows, no token refresh, no redirect URIs. Just credentials.
The lesson: Don't over-engineer authentication. Match the complexity to the use case.
4. Webhooks Need Validation
The X-Twilio-Signature header with SDK validation helpers is the right way to do webhooks. Too many APIs send webhooks without any way to verify they're authentic.
The lesson: If you send webhooks, provide a way to verify them. And ship the verification code in your SDKs.
5. Documentation Is Product
Twilio's docs aren't an afterthought—they're a competitive moat. The quickstarts, tutorials, error catalog, and "Copy as Markdown" feature all show a team that thinks deeply about developer workflows.
The lesson: Your documentation is often the first thing developers interact with. Make it great.
Conclusion: The Quiet Giant
Stripe gets more attention in API design discussions. But Twilio deserves equal credit.
They turned one of the most complex, regulated, legacy-heavy industries (telecommunications) into clean REST resources. They invented TwiML—a custom markup language that made real-time call control accessible to every web developer. They maintained backward compatibility for 16 years without breaking a single integration.
And they did it while handling billions of communications per year across 180+ countries.
If Stripe is proof that a payments API can be beautiful, Twilio is proof that any API can be beautiful—even when the underlying domain is a mess of carrier protocols, regulatory requirements, and real-time state machines.
The secret isn't the technology. It's the discipline: consistent naming, honest documentation, stable contracts, and a relentless focus on developer experience.
That's what makes an API a gold standard.
Designing an API that developers will love? Apidog helps you build, test, and document APIs with the same discipline that made Twilio and Stripe legendary. Start free.
DEV Community
https://dev.to/yukioikeda/twilios-api-the-other-gold-standard-and-why-its-stripes-true-equal-1jilSign in to highlight and annotate this article

Conversation starters
Daily AI Digest
Get the top 5 AI stories delivered to your inbox every morning.
More about
modelversionproduct
How to Access All AI Models with a Single API Key in 2026
You want to use GPT-5 for general tasks, Claude for coding, Gemini for long documents, and DeepSeek for cheap inference. That means four API keys, four billing accounts, four different SDKs, and four sets of rate limits to manage. There's a better way. Unified AI API gateways let you access all of these models — and hundreds more — through a single API key and endpoint. This guide shows you exactly how to set it up in under 5 minutes. The Problem with Multiple API Keys If you're calling AI models directly, your setup looks something like this: # The painful way — managing multiple clients import openai import anthropic import google.generativeai as genai openai_client = openai . OpenAI ( api_key = " sk-openai-... " ) anthropic_client = anthropic . Anthropic ( api_key = " sk-ant-... " ) gen
Speculation: Sam's a Secret Samurai Superhero
Fellow LessWrongers, We spend a lot of time here modeling the incentives of frontier-lab CEOs like Altman and Musk, and every time their reckless decisions and rat-race competitions shocked me, I fear that we missed something deep about their true identity. After some mad research, I'm here to propose a wild hypothesis: Sam Altman is a secret Samurai Ultraman. Here are some solid evidence. Firstly, Altman's X handle has been @sama for over a decade. In traditional Japanese samurai culture, "-sama" is an honorific suffix which can be used for samurais and daimyōs. This is his special low-key signal of nobility. His obsession with Ghibli-style avatars also serves as evidence, for Ghibli studio famously created movies questioning Japanese militarism which can be dated back to traditional Bus
Knowledge Map
Connected Articles — Knowledge Graph
This article is connected to other articles through shared AI topics and tags.
More in Products
Speculation: Sam's a Secret Samurai Superhero
Fellow LessWrongers, We spend a lot of time here modeling the incentives of frontier-lab CEOs like Altman and Musk, and every time their reckless decisions and rat-race competitions shocked me, I fear that we missed something deep about their true identity. After some mad research, I'm here to propose a wild hypothesis: Sam Altman is a secret Samurai Ultraman. Here are some solid evidence. Firstly, Altman's X handle has been @sama for over a decade. In traditional Japanese samurai culture, "-sama" is an honorific suffix which can be used for samurais and daimyōs. This is his special low-key signal of nobility. His obsession with Ghibli-style avatars also serves as evidence, for Ghibli studio famously created movies questioning Japanese militarism which can be dated back to traditional Bus
AI Agent Tools for Small Business Owners: A Practical Guide
The AI landscape is overwhelming. Hundreds of tools, new launches every week, and most of them are designed for enterprise teams with dedicated engineering staff. If you're a small business owner — running a service company, an e-commerce shop, or a solo consulting practice — you need tools that actually work without a full-time developer to maintain them. Here's a practical breakdown of the AI agent tools that matter most for small business operations in 2026, focused on what's real and useful today. What AI Agents Actually Do for Small Businesses Forget the hype about artificial general intelligence. For small businesses, AI agents solve three specific problems: They monitor things you can't watch 24/7 — revenue, inventory, customer messages, system health They handle repetitive tasks on
Your AI Chatbot Isn't Stupid. It Just Has No Memory. Here's How We Fixed That.
I had a moment in a session a few weeks ago that I haven't stopped thinking about. Someone asked an AI chatbot what their company's refund policy was. The bot answered confidently, fluently, with zero hesitation. It was also completely wrong. It had invented a policy — 14 days, original packaging, contact support@ — from thin air, because it had never actually seen the company's documentation. It wasn't broken. It was doing exactly what it was designed to do: predict the most plausible-sounding next word. And "most plausible" and "accurate" are not the same thing. That's the dirty secret of LLMs fresh out of training. They're brilliant at sounding right. They're not inherently good at being right — especially about things that aren't in their training data. The fix has a name: RAG. Retriev
Do Not Stick Out: The Dynamics of the ECH Rollout
When you re trying to hide, the last thing you want is to draw attention to yourself. That was the philosophy behind the design of Encrypted Client Hello (ECH), a new technology that helps close a 20-year-old privacy leak in the Internet’s design [1]. ECH encrypts the name of the website you’re visiting, making connections to [ ] The post Do Not Stick Out: The Dynamics of the ECH Rollout appeared first on Center for Democracy and Technology .


Discussion
Sign in to join the discussion
No comments yet — be the first to share your thoughts!