Battery
A Battery is primarily a convenience structure for storing tdx Volt configurations and potentially grouping together two or more Volts.
For example, a router may have a Battery that contains a tdx Volt for each member of the household, or an enterprise server may use multiple Batteries as a means of grouping various subscribers or similar.
Storage
A Battery stores the Volt configuration of each tdx Volt that it contains.
As well as the tdx Volt configurations, the Battery also stores details of the key strategy used by each Volt.
The Battery storage is implemented as an SqlCipher database, a secure, encrypted-at-rest version of Sqlite.
Battery key strategy
If a tdx Volt is using the ‘Battery’ key strategy, the tdx Volt key will be stored along with the tdx Volt configuration in the Battery storage.
If the Battery is password protected, the key will be stored in the encrypted Battery database, which in turn is protected by the Battery password.
Battery password protection
The user can choose whether to protect the Battery with a passphrase or not.
It is recommended to do so, but is not strictly necessary if the Volts it contains will be using key strategies other than the ‘Battery’ strategy.
The Battery password is used to encrypt the storage database. It is not stored anywhere and relies on the user remembering it. It is not currently possible to change or reset the Battery password without losing all data.
Location
All files relating to a given Battery are located in a named directory, which can be specified by the user at creation time.
A default Battery is automatically created in a sub-folder called TDXVolt
of the Documents
folder, which is dependent on the current user and operating system.