tree: 02c064c088c47ff87de7131870358e100c056bef [path history] [tgz]
  1. meta/
  2. src/
  3. tests/


Reviewed on: 2020-03-23

Stash exists to hold persistent mutable state for early boot system services that are restricted from using mutable storage (usually for security reasons). Stash may be used to store device-wide state. Stash must not be used to store user-specific state, since data isn't saved to a user-encrypted partition.

Persisted state takes the form of a key/value store, which can be accessed over FIDL. More details on writing a program that uses stash is available here.


To add this project to your build, append --with //src/sys/stash to the fx set invocation.


Stash provides the fuchsia.stash.Store and fuchsia.stash.SecureStore service on Fuchsia, and there is a stash_ctl command to demonstrate how to access these services.

$ fx shell run stash_ctl --help


Unit tests for stash are available in the stash-tests package.

$ fx test stash-tests

Source layout

The entrypoint is located in src/, the FIDL service implementation exists in src/ and src/, and the logic for storing bytes on disk is located in src/ Unit tests are co-located with the implementation.