## Bluetooth

**Primary** : jamuraa@google.com   


**Secondary**: silberst@google.com


<br />


The set of APIs for managing and communicating via Bluetooth. This includes
both connecting peer devices, searching for devices, advertising the local
device, and communicating or interacting via Bluetooth profiles. Generally
once connected, Bluetooth capabilities will be exposed through APIs in other
sections, and this API only exposes surfaces for connecting, managing
discovery and pairing, and Low Energy protocols which are often custom to
each device.


Often specific Bluetooth Profiles provide an API for system services to use
for status and control as well.

<br />

Examples:

<br />

- [fuchsia.bluetooth.sys](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.bluetooth.sys)
- [fuchsia.bluetooth.le](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.bluetooth.le)
- [fuchsia.bluetooth.gatt](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.bluetooth.gatt)


## Component Framework

**Primary** : cgonyeo@google.com   


**Secondary**: quiche@google.com


The set of APIs that are used to define components, interact with
components, and integrate with the Component Framework. These are the low
level APIs for interfacing with the Component Framework -- in some cases
they may be used by developers directly, but they may also be used to build
higher level APIs such as Session Framework.
Examples:

<br />

- [fuchsia.component](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component)
- [fuchsia.component.internal](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.component.internal)
- [fuchsia.sys2](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.sys2)


## Developer

**Primary** : wilkinsonclay@google.com   


**Secondary**: chaselatta@google.com


Developer tool interfaces, such as the [Command-line Tools Rubric](https://fuchsia.dev/docs/development/api/cli). APIs that
affect the developer experience in the host environment such as debugging,
or the development kit.

<br />


## Diagnostics

**Primary** : crjohns@google.com   


The set of APIs that are used to publish and query diagnostics data from
components on the system. This includes the ability to [stream logs](https://fuchsia.dev/docs/reference/diagnostics/logs/access), view and
publish [Inspect
data](https://fuchsia.dev/docs/development/diagnostics/inspect/README), and [observe
lifecycle events](https://fuchsia.dev/docs/concepts/components/diagnostics/lifecycle_events/README).
Examples:

<br />

- [fuchsia.diagnostics](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.diagnostics)
- [fuchsia.inspect](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.inspect)


## Driver SDK

**Primary** : surajmalhotra@google.com   


**Secondary**: cja@google.com


The set of APIs used to interact with devices via the driver manager. This
may be used by developers to retrieve information about a device or change
its current state.
Examples:

<br />

- [fuchsia.device](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.device)
- [fuchsia.driver.framework](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.driver.framework)


## Drivers

**Primary** : cja@google.com   


**Secondary**: puneetha@google.com


<br />


The set of APIs used to communicate with various drivers that interact
with hardware or other drivers. The apis are accessible by opening the
device using a devfs path, such as `/dev/class/<protocol the
device exposes>/<incremental number>`.


Most of the APIs exposed by drivers are in the
`fuchsia.hardware.*` namespaces.


Other APIs are distributed under the corresponding area (e.g. Bluetooth,
WLAN, Graphics, HCI) that the driver tackles. Although these APIs do not
live under `fuchsia.hardware.*` namespace they might interact
with hardware, or other drivers that interact with hardware.

<br />

Examples:

<br />

- [fuchsia.hardware.pci](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.pci)


## Experiences

**Primary** : chaselatta@google.com   


**Secondary**: ianloic@google.com


The set of APIs used to create user experiences. These include the set of
APIs that facilitate user interactions that are common across multiple
products.
Examples:

<br />

- [fuchsia.settings](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.settings)


## FIDL

**Primary** : ianloic@google.com   


**Secondary**: hjfreyer@google.com


Since most APIs are expressed in FIDL, the FIDL area is cross-cutting with
the goal to both support all other areas, and leverage their experience to
inform the future direction of the FIDL language and ecosystem.

<br />


## Firmware

**Primary** : dpursell@google.com   


<br />


A small set of libraries necessary for firmware to boot Zircon, for
example ZBI image handling, A/B/R boot metadata, verified boot.
Essentially, this defines the contract for how the bootloader communicates
with Zircon.


As firmware runs outside of Fuchsia, this is not generally meant for
Fuchsia end-developers, but instead for bringing up Fuchsia on new
platforms. These libraries together form the "Firmware SDK"; which is then
ported to a specific platform's firmware codebase.

<br />

Examples:

<br />

- [libabr](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/firmware/lib/abr/), A/B/R metadata handling.
- [libavb](https://android.googlesource.com/platform/external/avb/), verified boot.
- [libzbi](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/firmware/lib/zbi/), ZBI manipulation.


## Foreign ABI Compatibility

**Primary** : lindkvist@google.com   


**Secondary**: qsr@google.com


<br />


The set of APIs used to run and interact with programs compiled for other
operating systems.


Currently this covers the Starnix (Linux binary compatibility) APIs.

<br />

Examples:

<br />

- [fuchsia.starnix.container](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.starnix.container) Protocols for controlling a container of unmodified Linux binaries.


## Graphics

**Primary** : costan@google.com   


**Secondary**: emircan@google.com


The set of APIs that are used to transport and compose images on the system.
It includes interfaces for communicating with graphics hardware, as well as
scene-graph communication between Scenic and the rest of the system (not
including higher-level concepts such as views, see the [View System](https://fuchsia.dev/fuchsia-src/contribute/governance/areas#view-system) area for that).
Examples:

<br />

- [fuchsia.hardware.display](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.display)
- [fuchsia.gpu.magma](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.gpu.magma)
- [fuchsia.ui.gfx](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.gfx)


## Identity

**Primary** :   


The set of APIs used to manage user accounts, authentication, and identity
information.
Examples:

<br />

- [fuchsia.identity.account](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.identity.account)
- [fuchsia.identity.authentication](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.identity.authentication)


## Kernel

**Primary** : mcgrathr@google.com   


**Secondary**: rashaeqbal@google.com


<br />

The Fuchsia kernel, whose API surface is:

- The set of syscalls and the set of types and constants associated with these syscalls. Those APIs are defined in [`//zircon/vdso/`](https://cs.opensource.google/fuchsia/fuchsia/+/main:zircon/vdso/) and [`//zircon/system/public/zircon/`](https://cs.opensource.google/fuchsia/fuchsia/+/main:zircon/system/public/zircon/).
- The interface with bootloaders, the most important being the [ZBI](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/lib/zbi-format/include/lib/zbi-format/zbi.h).
- The BOOTFS image and the ABI of the binaries within.

<br />

<br />


## Media

**Primary** : dalesat@google.com   


The set of APIs used to capture, process and render audio and video streams.
The media APIs also encompass adjacent concerns such as volume control and
media session management.
Examples:

<br />

- [fuchsia.camera](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.camera)
- [fuchsia.media](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media)
- [fuchsia.media.audio](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.audio)
- [fuchsia.media.drm](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.drm)
- [fuchsia.media.sessions2](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.sessions2)
- [fuchsia.media.sounds](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.media.sounds)
- [fuchsia.mediacodec](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.mediacodec)


## Metrics

**Primary** : frousseau@google.com   


The set of APIs that allow clients to log events that are associated with
metrics or file crash reports. These events and reports are collected off-device,
and can later be analyzed across many devices.
Examples:

<br />

- [fuchsia.metrics](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.metrics)
- [fuchsia.cobalt](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.cobalt)
- [fuchsia.feedback](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.feedback)


## Netstack

**Primary** : brunodalbo@google.com   


**Secondary**: martinjeffrey@google.com


The set of APIs enabling networking in Fuchsia. Encompasses APIs that drive
the data, control, and management planes of networking ranging from
contracts with device drivers to auxiliary application-level protocol
services.
Examples:

<br />

- [fuchsia.hardware.network](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.hardware.network) Data plane contract with device drivers.
- [fuchsia.posix.socket](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket) POSIX sockets API.
- [fuchsia.net.interfaces](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.net.interfaces) Interface management plane.
- [fuchsia.net.name](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.net.name) Application-level name resolution.


## Power

**Primary** : mbrunson@google.com   


**Secondary**: prashanthsw@google.com


<br />


The set of APIs for centralized power and thermal management, including
system power state control, administration of power dependencies, and
thermal throttling. Also includes aspects of power delivery such as
battery management.


Naturally overlaps with other API areas on power/thermal-related drivers
and subsystem-specific power management APIs. Ownership of overlapping
APIs is deferred to other API areas where practical, with the Power area
operating in a consulting role.

<br />

Examples:

<br />

- [fuchsia.power.battery](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.power.battery)
- [fuchsia.power.systemmode](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.power.systemmode)
- [fuchsia.thermal](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.thermal)


## Product Assembly

**Primary** : aaronwood@google.com   


**Secondary**: diserovich@google.com


<br />


A set of APIs to combine software from a variety of sources into a
flashable, updatable product image. Product Assembly is concerned with:

- The assembly-time product/platform interface, which allows product owners to specify how the platform should be configured for a particular product.
- The contract for how assembly input artifacts are specified to the assembly tools which assemble the correct set of artifacts for a given product build.

<br />

<br />

<br />


## Security

**Primary** :   


The set of APIs used to directly interact with security features (for
example cryptographic key management) or tools (for example fuzzers).
Examples:

<br />

- [fuchsia.fuzzer](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fuzzer)
- [fuchsia.kms](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.kms)
- [fuchsia.tee](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.tee)


## Software Delivery

**Primary** : galbanum@google.com   


**Secondary**: etryzelaar@google.com


<br />


The Software Delivery team manages software packaging and updates for Fuchsia devices.

<br />

<br />


## Storage

**Primary** : csuter@google.com   


**Secondary**: jfsulliv@google.com


<br />

Storage is a combination of the following APIs:

-
  [fuchsia.io](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.io/)


  Describes the common means of service discovery, filesystem access,
  and capability sharing on Fuchsia.


  They are used primarily for client interaction with the filesystem,
  where a client can be any component/process in the system that needs
  to access files/directories in a filesystem.
-
  [fuchsia.fshost](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fshost/)


  Used for finding block devices, starting filesystem processes to
  service these block devices, and providing handles for these file
  systems to the rest of Fuchsia.
- Filesystem specific APIs, used for operations specific to a filesystem.

  Examples:
  - [fuchsia.minfs](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.minfs/)
- [fuchsia.fs](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fs/), responsible for providing administration functionality for filesystems.

<br />

<br />


## Testing

**Primary** : crjohns@google.com   


The set of APIs responsible for executing, observing, and returning the results
of tests executed on a device. These APIs abstract over different
test frameworks and tools to provide a FIDL interface for testing use cases
on Fuchsia.
Examples:

<br />

- [fuchsia.test.manager](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.test.manager)
- [fuchsia.test](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.test)
- [fuchsia.debugdata](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.debugdata)


## Toolchain

**Primary** : mcgrathr@google.com   


**Secondary**: phosek@google.com


No description available.

<br />


## UI

**Primary** : emircan@google.com   


**Secondary**: carolineliu@google.com


<br />


The set of APIs that coordinate a user's interaction with a product,
including input (e.g. human-computer interaction (HCI) device drivers,
semantic understanding, etc), the view system (e.g. visual regions
("views") and their lifecycle), the application model, and accessibility.


This area has close ties to other user-experience-related API areas (e.g.
graphics, media). Where they overlap, the more specific API area has
ownership.

<br />

Examples:

<br />

- [fuchsia.accessibility.semantics](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.accessibility.semantics)
- [fuchsia.session](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.session)
- [fuchsia.ui.input](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.input)
- [fuchsia.ui.views](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.views)


## Virtualization

**Primary** :   


<br />

Virtualization is the combination of:

- The hypervisor, which is implemented by the Zircon kernel, and provides the execution environment for a virtual machine. Specifically, it provides address space isolation, trapping of access to memory or IO port addresses, and management of virtual CPUs.
- The virtual machine manager, which uses the hypervisor in order to provide a complete virtual machine for an operating system to run within. This includes the emulation of hardware, as well as the loading and execution of the operating system itself. It provides a bridge between the guest operating system running within the virtual machine, and services within the host operating system, such as storage, networking, and graphics.

<br />

<br />


## Web

**Primary** : wez@google.com   


**Secondary**: ianloic@google.com


<br />


Web encompasses APIs for working with standard web protocols (e.g. HTTP,
HTTP2), content types (e.g. HTML) and application run-time technologies
(e.g. JavaScript, WebAssembly). Functional interfaces (e.g.
[fuchsia.web](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.web/),
[fuchsia.net.http](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.net.http/)) typically replace functionality that would otherwise need to be
bundled as a library into each individual client package.

<br />

Examples:

<br />

- [fuchsia.net.http](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.net.http) supports basic interactions (e.g. GET, PUT) with HTTP-based services.
- [fuchsia.url](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.url) defines web-standard URL type, and limits.
- [fuchsia.web](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.web)


  allows component instances to be created to host content created using
  standard web technologies (HTML, JavaScript, etc). These are used in a
  similar way to in-process web-rendering libraries, with the benefit of
  stronger isolation from the calling application.


  An implementation provided by the Chromium project is included in the
  Fuchsia repository as a pre-built package.


## WLAN

**Primary** : mnck@google.com   


**Secondary**: silberst@google.com


No description available.

<br />

[](https://issues.fuchsia.dev/issues/new?component=1439230&template=1881640&description=Issue+on:+https://fuchsia.dev/docs/contribute/governance/areas/README.md "Report a bug or suggest improvements on this page") [](https://cs.opensource.google/fuchsia/fuchsia/+/main:docs/contribute/governance/areas/README.md "View the source code of this page") [](https://ci.android.com/edit?repo=fuchsia/fuchsia/main&file=docs/contribute/governance/areas/README.md&cloneRepo=fuchsia/fuchsia:refs/heads/main&fullPath=fuchsia/docs/contribute/governance/areas/README.md "Edit the source code of this page")