README.md
1 # Android components for Nugget
2
3 Android communicates with Nugget apps in order to implement security related
4 HALs. Currently, those HALs are Keymaster, Weaver and OemLock.
5
6 ### Services
7
8 Apps that define a protobuf service will have an app interface class
9 autogenerated. These classes will wrap a `NuggetClient`. The generator can be
10 found in the `generator` directory.
11
12 ### Asynchronous communication
13
14 Work in progress.
15
16 Currently, everything is synchronous and just exposes the `call_application()`
17 function from the Nugget transport API. In future, asynchronous calls may be
18 desired. Support for this could be added in:
19
20 * Nugget transport API
21 * `NuggetClient` on top of `call_application()`
22 * Generated services
23
24 ## `citadel`
25
26 This directory contains the components to support Citadel connected to Android.
27