Join our Newsletter — 33% off our NHI Course

GATT

The Generic Attribute Profile defines how BLE devices organize and exchange data once a connection exists. It structures information as services and characteristics, using the Attribute Protocol underneath to read, write, notify, or confirm values between a server and a client.

What GATT Is in Bluetooth Low Energy

GATT is the layer that gives Bluetooth Low Energy its structured data model. It lets a central device discover services, read and write characteristics, and receive notifications or indications after a BLE connection is established.

How GATT Structures BLE Data

GATT organizes information into services, which group related capabilities, and characteristics, which hold the actual values exchanged between devices. This structure is what makes BLE more than a raw link, because applications can expose sensor readings, control points, status values, and configuration data in a predictable way.

Under the hood, the Attribute Protocol, or ATT, carries the actual attribute access over the connection. In practice, GATT is the profile-level contract that defines how a client should interpret the data model, while ATT is the protocol used to move those reads, writes, and updates across the link.

That separation matters because GATT is about interoperability and application behaviour, not radio transport alone. Two devices can both speak BLE, but if they do not share the same GATT service and characteristic layout, they will not understand each other’s data correctly.

GATT Operations and Device Roles

GATT typically involves a client and a server. The client initiates discovery and requests data, while the server exposes the attribute database and responds to access requests. Many readers associate phones with clients and peripherals such as wearables, sensors, or access devices with servers, although the role depends on the application design.

The key operations are discovery, read, write, notify, and indicate. Discovery helps a client learn what data exists; reads and writes exchange values directly; notifications and indications let the server push changes when a characteristic updates. Those operations are central to how BLE applications move state without continuous polling.

Because GATT is attribute-based, design choices around service boundaries, characteristic granularity, permissions, and update frequency shape usability and performance. A clean GATT model can make a BLE product easier to integrate, while a poorly designed one can create confusion, inefficient traffic, or ambiguous semantics for consuming devices.

Why GATT Matters for Interoperability and Security

GATT is often discussed as a convenience layer, but it also defines the trust boundary for what data a connected peer can discover or modify. That means the profile design influences exposure, especially when devices expose control characteristics, configuration values, or sensitive status information through NIST SP 800-53 Rev 5 Security and Privacy Controls and similar control frameworks.

Because BLE devices are frequently embedded, GATT choices can persist in shipped firmware and remain visible to any paired or connected client. The practical security question is not only whether the link is encrypted, but whether the exposed services and characteristics are appropriate for the device’s intended use and threat model.

GATT also becomes a useful place to think about least privilege at the protocol level. If a characteristic is writable when it should only be read, or if a service exposes unnecessary data, the design expands the impact of connection compromise, misconfiguration, or weak client handling.

Risk and Threat Considerations

GATT itself is not a vulnerability, but the way it is designed and exposed can create real attack surface. Overly permissive characteristics, weak access control assumptions, or poorly partitioned services can leak device state, allow unauthorized configuration changes, or make downstream abuse easier once a BLE connection exists.

Failure mechanism: Attackers or unauthorized peers abuse exposed services and characteristics, exploit excessive write permissions, or observe sensitive values that were not meant for broad access.

Impact: The result can be data disclosure, device manipulation, integrity loss, or a larger compromise path for connected applications and physical systems.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

NIST SP 800-53 Rev 5 and CIS Controls v8 set the governance and control requirements practitioners need to meet.

Framework Control / Reference Relevance
NIST SP 800-53 Rev 5 AC-6 — Least Privilege GATT exposure should limit characteristic access to the minimum needed.
IA-2 — Identification and Authentication (Organizational Users) BLE endpoints often depend on authenticated access before sensitive GATT operations.
SC-8 — Transmission Confidentiality and Integrity GATT traffic often carries values whose confidentiality and integrity matter over BLE.
Recommendation — Limit GATT characteristic permissions to the minimum access required by the use case. Require authenticated access before permitting sensitive GATT reads or writes. Protect sensitive BLE exchanges so GATT data cannot be read or altered in transit.
CIS Controls v8 CIS-6 — Access Control Management GATT permissions are a device-level access control decision that should be constrained.
Recommendation — Restrict GATT services and characteristics to approved client access paths.

Practitioner Guidance

What to watch for: Review GATT profiles as part of product design, not as a late integration detail. The service map, characteristic permissions, and notification behaviour should match the device’s security requirements and the minimum data the client actually needs.

Common misunderstanding: Many teams assume BLE connectivity automatically implies a safe or sufficiently isolated exchange. In reality, the GATT model determines what a connected peer can discover and do, so a sound profile design is part of the security boundary, not just the interface contract.