Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LOG: Encryptable log write access / previous values #565

Open
9 tasks
lkleisa opened this issue Mar 11, 2022 · 0 comments
Open
9 tasks

LOG: Encryptable log write access / previous values #565

lkleisa opened this issue Mar 11, 2022 · 0 comments
Labels

Comments

@lkleisa
Copy link
Collaborator

lkleisa commented Mar 11, 2022

The idea of this feature is to log all encryptables read or edit accesses, to make it more transparent what users are accessing or editing encrypted data. More you should see, who changed which attribute with which value.

Mockup for the deluxe version

This feature is based on: Access- and changelog conception and the previous feature #564

Always run the E2E-tests if you change something in the frontend, run the backend-tests if you change something in the backend and test always manually

ToDo

  • Familiarize your-self with paper-trail gem
  • Check if editing for example description only does not re-encrypt given username, password. If so, make sure re-encrypt is only done if value has changed. we have to track if there were changes in username or password to show it
  • Do not show what changed exactly for attribute description, just display that the value was changed but no previous value. (description can be a pretty long text and would kill the layout/table)
  • Enable paper trail to also log update events https://github.com/paper-trail-gem/paper_trail#2a-choosing-lifecycle-events-to-monitor
  • Add new controller Api::Encryptables::VersionsController
    • add new route /api/encryptables/:encryptable_id/versions/:id
    • get version entry and initialize a Encryptable object with params from object column in versions table
    • decrypt encryptable to get cleartext values of password, username
    • use encryptables serializer https://github.com/puzzle/cryptopus/blob/master/app/serializers/encryptable_serializer.rb
    • this endpoint is used for fetching previous values of username, password
    • only allow access to this endpoint if encryptable is accessible (see EncryptablePolicy)
  • Add adapter and model in EmberJS UI
  • Fetch cleartext value in UI if user wants to retrieve previous values (show previous password/username)
    • if it's not possible to only retrieve for example username, just display both, username and password
  • extend table component
  • add frontend and system (e2e) tests/specs
@lkleisa lkleisa changed the title Access- and changelog: DELUXE LOG: Encryptable log write access / previous values Mar 14, 2022
@mtnstar mtnstar added the PSE label Mar 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants