Pwmd allows a (libpwmd) client to store and retrieve data in an encrypted XML file via an element path. An element path is a TAB delimited string where each element name is a depth of the element tree similar to how a filesystem hierarchy is organized.
Each element of the element path may also contain an ACL to limit client access to an element path; beit a client connecting over UDS or TLS. An element may also contain a "target "attribute that resolves to another element path in the XML...
Libpwmd provides an API for connecting to pwmd. It allows for your application to easily store and retrieve data from a pwmd server. It does all the work of setting up the socket and socket IO. Fetching element content can be done in as little as 4 function calls: pwmd_new(), pwmd_connect(), pwmd_open() and pwmd_command().