Architecture and Security

This document explains the WhatsApp Business API Architecture and Security.

Cloud API WABA Architecture

Since October 2025 the only option to use WhatsApp Business API is Cloud API.

Encryption

With the Cloud API, every WhatsApp message continues to be protected by Signal protocol encryption that secures messages before they leave the device. This means messages with a WhatsApp business account are securely delivered to the destination chosen by each business.

The Cloud API uses industry-standard encryption techniques to protect data in transit and at rest. The API uses Graph API for sending messages and Webhooks for receiving events, and both operate over industry standard HTTPS, protected by TLS.

See Encryption Overview whitepaper for additional details.

Local Storage

Local Storage for Cloud API numbers is available. This gives businesses the option to control the location where their message data is stored at rest. If your company operates in a regulated industry such as finance, government, or healthcare, you may prefer to have your message data stored in a specific country when at rest because of regulatory or company policies.

What data is localized?

The following message flows are covered by Local Storage feature:

  • Outgoing messages: messages you are sending to recipients with Cloud API

  • Incoming messages: messages you are receiving back via Cloud API

The following message types are covered by Local Storage feature:

  • Text messages: textual payload (message body) is localized

  • Media messages: media (audio, document image or video) payload is localized

  • Template messages: components with text / media payload are localized

Also, a limited set of metadata attributes is included in the localized data set, in order to correctly associate encrypted localized message payload with the originally processed message and to audit the fact of localization. Metadata is protected with tokenization and encryption.

Available regions

The following regions are currently supported by Cloud API Local Storage:

  • APAC: India, Singapore, Indonesia, South Korea, Japan, Australia

  • LATAM: Brazil

  • MEA: South Africa, Bahrain

  • Europe: EU (Germany), UK, Switzerland

  • NORAM: Canada

Activating and using Local Storage

If you wish to change the local storage of a WABA please reach out to our Support Team with the specific location. You will need to receive a pin code in the phone number to confirm the change to local storage.

With such settings enabled, Cloud API uses a localized storage in the specified country for persisting message content, instead of using its default storage based in the US. Alternatively, by disabling Local Storage, Cloud API reverts to its default storage based in the US.

Message Flows

When a user sends a message to one of these businesses, the message travels end-to-end encrypted between the user and the Cloud API. As per the Signal protocol, the user and the Cloud API, on behalf of the business, negotiate encryption keys and establish a secure communication channel. WhatsApp cannot access any message content exchanged between users and businesses.

Once a message is received by the Cloud API, it gets decrypted and forwarded to the Business. Messages are only temporarily stored by the Cloud API as required to provide the base API functionality.

Messages from a business to a user flow on the reverse path. Businesses send messages to Cloud API. The Cloud API service stores the messages temporarily and takes on the task to send the message to the WhatsApp platform. Messages are stored for any necessary retransmissions.

All messages are encrypted by the Cloud API before being sent to WhatsApp using the Signal protocol with keys negotiated with the user (recipient).

WhatsApp acts as the transport service. It provides the message forwarding software; both client and server. It has no visibility into the messages being sent. It protects the users by detecting unusual messaging patterns (like a business trying to message all users) or collecting spam reports from users.

Cloud API, operated by Meta, acts as the intermediary between WhatsApp and the Cloud API businesses. In other words, those businesses have given Cloud API the power to operate on their behalf. Because of this, WhatsApp forwards all message traffic destined for those businesses to Cloud API. WhatsApp also expects to receive from Cloud API all message traffic from those businesses.

WhatsApp gives Cloud API metering and billing information for the Cloud API businesses. It does not share any other messaging information.

Meta, in providing the WhatsApp Cloud API service, acts as a Data Processor on behalf of the business. In other words, the businesses have requested Meta to provide programmatic access to the WhatsApp platform.

Cloud API receives from WhatsApp the messages destined for the businesses that use Cloud API. Cloud API also sends to WhatsApp the messages sent by those businesses. Other parts of Meta (other than Cloud API) do not have access to the Cloud API business communications, including message content and metadata. Meta does not use any Cloud API data for advertising.

Stored and Collected Data

All data collected, stored and accessed by Cloud API is controlled and monitored to ensure proper usage and maintain the high level of privacy expected from a WhatsApp client.

Information about the businesses, including their phone numbers, business address, contacts, type, etc. is maintained by Meta and the Business Manager product and is subject to the terms of service set by Meta. Cloud API relies on Business Manager and other Meta systems to identify any access to Cloud API on behalf of the business.

Messages sent or received via Cloud API are only accessed by Cloud API, no other part of Meta can use this information. Messages have a maximum retention period of 30 days in order to provide the base features and functionality of the Cloud API service; for example, retransmissions. After 30 days, these features and functionality are no longer available.

Cloud API does not rely on any information about the user (customer/consumer) the business is communicating with other than the phone number used to identify the account. This information is used to deliver the messages via the WhatsApp client code. User phone numbers are used as sources or destinations of individual messages; as such they are deleted when messages are deleted. No other part of Meta has access to this information.

No message content is shared or sent to WhatsApp at any time and no WhatsApp employee has access to any message content.

Cloud API Data
System
Available to the rest of Meta?
Available to WhatsApp?

Message content

Cloud API

No

No

Consumer phone number

Cloud API

No

Yes

Non-identifiable statistics

Cloud API

Yes

Yes

Integrity signals - per business

WhatsApp Client

No

Yes

Business information

Business Manager

Yes

Yes

Billing - per business

WhatsApp

Yes

Yes

GDPR

Meta enables businesses to fulfill their obligations under the General Data Protection Regulation (GDPR). However, it's important to note that each business bears the responsibility of ensuring its own compliance with the GDPR, similar to other applicable laws.

To understand compliance with GDPR, please see:

Developer Documentation

Cloud API FAQ
Cloud API Security

Last updated

Was this helpful?