{% include 'helpers/stylesheets.html' %}
{% include 'header.html' %}

Use of the HWA Browser Interface

The application, through a browser interface, maintains a toy repository (on a filesystem on its local Linux instance). The following screens are supported
Login
Login to HWA app.
  • Required before any HWA filesystem operations.
  • Underneath, HWA update the magen id service with a "client", which is available to other magen services, e.g. policy.
  • In HWA, login is a dummy operation with a hard-coded user.
  • The login is preserved in a Flask session for a period of time (PERMANENT_SESSION_LIFETIME, e.g. 10 minutes), after which point the login button must be clicked again. [As a point of information, Flask exports a browser session cookie, so the login is preserved across an HWA restart.]
Repository
Show assets (files) currently ingested into Magen. For each asset, various operations may be performed.
View
Preview an asset, by decrypting the stored file (notes.txt.html) back to the original contents.
  • The policy service (ps) checks if a policy allows this access. (No policy is currently applied to ingestion.) Policy "contracts" may be managed through policy's http APIs as driven by postman requests. Collections of useful policy http requests are found in policy's postman directory.
  • The identity service provides information (username, device, etc) that is checked against policies.
Download
Similar to View but downloads the asset rather than previewing it.
Raw-View
For educational purposes, display the html container (e.g. notes.txt.html) for the encrypted asset, i.e. show a one-line message that the actual contents can only be accessed through a magen viewer operation to the encrypted file (notes.txt.html)
Raw-Download
Similar to Raw-View but downloads the asset rather than previewing it, to allow inspection of the container format
Delete
Clean up entries on the HWA toy repository
Ingestion
Upload a file (notes.txt), e.g. from laptop running browser, encrypt, and store in Magen container format (notes.txt.html)
  • The ingestion service produces the containerized format and assigns a magen assetId to it.
  • The key service stores a key for the asset, indexed by assetId
{% include 'helpers/footer.html' %}