|
| 1 | +# TODOs for end-to-end requirements: |
| 2 | + |
| 3 | +## Final sprint |
| 4 | + |
| 5 | +- [ ] load generic and instantiated policies in auth frontend |
| 6 | +- [ ] update continuation screens in the shop frontend |
| 7 | +- [ ] MAKE THE VIDEO |
| 8 | + - [ ] show credential, policies -> buy item -> show instantiation that has been added for the user -> show auditing trail |
| 9 | +- [ ] Write setup requirements |
| 10 | +- [ ] Create new SolidLabResearch repository that links to the e2e/setup branch |
| 11 | + |
| 12 | +### To Fix By Demo |
| 13 | + |
| 14 | +- [ ] Add Policy Screen update |
| 15 | +- [ ] Final fixes generic policy |
| 16 | +- [ ] Change trust display on auditing screen |
| 17 | + - [ ] Change contract to "Instantiated Policy" |
| 18 | + - [ ] Instantiated Policy -> Trusted instead of verified, age keep verified |
| 19 | +- [ ] Auth app -> My pod app |
| 20 | + - [ ] My Data |
| 21 | + - [ ] My Policies |
| 22 | + - [ ] Relevant linking? |
| 23 | +- [X] Login information on every App: |
| 24 | + - [X] Green -> You are logged in\ |
| 25 | + - [X] Red -> You are not logged in |
| 26 | + - [X] Blue -> Auditer 3 is logged in |
| 27 | +- [ ] Store login buttons: |
| 28 | + - [ ] Remove its'me option |
| 29 | + - [ ] Continue as Ruben -> Share WebID link (with profile avatar) (This is not a Login!) |
| 30 | + |
| 31 | + |
| 32 | + |
| 33 | + |
| 34 | + |
| 35 | +### HAS TO HAPPEN |
| 36 | +- [X] VC and token validation on the auditing frontend |
| 37 | + - [X] Represent this with green checkmarks in the frontend |
| 38 | +- [ ] Check policy models |
| 39 | + |
| 40 | +### If there is time |
| 41 | +- [ ] Check policy evaluation system |
| 42 | + - [ ] Do time related policies work? |
| 43 | + - [ ] Can we include wrong purposes that fail? |
| 44 | + - [ ] Can we do a check on store registration |
| 45 | +- [ ] Store decision to give purchase access or not in the audit entry? |
| 46 | + |
| 47 | +### If there is a lot of time |
| 48 | +- [ ] Pod-based logging (not super necessary atm?) |
| 49 | +- [ ] Can we model accesses by 2 different people? |
| 50 | + |
| 51 | +## Assignment minimum requirements |
| 52 | +- [X] The system needs to facilitate the exchange of the data (date of birth). |
| 53 | + - [X] A date of birth must be available at some location in the dataspace |
| 54 | +- [X] The system needs to provide the store with the trust that the data is correct. |
| 55 | + - [X] The stored DOB must be a verifiable credential |
| 56 | + - [X] The stored credential must be verifiable on the store backend |
| 57 | +- [X] The system needs to provide the person with the trust that their data will only be used for age checking. |
| 58 | + - [X] The policy system must be able to handle a purpose |
| 59 | +- [ ] The system allows the person to specify in advance the generic policy that “all Belgian stores are allowed to read my date of birth”. |
| 60 | + - [X] The system needs to be able to store a generic policy |
| 61 | + - [X] An interface needs to be available to store this policy |
| 62 | + - [ ] The policy must be modeled in an appropriate way |
| 63 | +- [X] The system automatically instantiates the above generic policy into the concrete case that “MyBelgianWineStore is allowed to use my date of birth from 2024-03-01 to 2024-03-15 for the purpose of age verification for purchases” |
| 64 | + - [ ] MOCKED -> double check though |
| 65 | +- [X] The system allows the above interaction to take place without the person having to click on any dialogs. |
| 66 | + - [X] The interaction is automatic after a WebID button is clicked to show what is happening. |
| 67 | +- [ ] The system allows the store to prove that they were allowed to perform the age verification. |
| 68 | + - [X] A backend storage must be in place for the store |
| 69 | + - [X] The store website must forward data storage and checks to the backend |
| 70 | +- [X] The system allows the person to check that their data was used correctly. |
| 71 | + - [X] An auditing routine must be built in the store backend |
| 72 | + - [X] An auditing routine must be built as a frontend interface |
| 73 | +- [ ] The Government VC Service |
| 74 | + - [X] Must be able to create a VC |
| 75 | + - [X] VC must be transfered to demo pod storage -> Not required for Demo because of fixed keypair seed |
| 76 | + - [ ] VCs can be validated on the backend of the store |
| 77 | +- [ ] The Auditing use-case |
| 78 | + - [X] The store backend provides the option to retrieve all required data to audit |
| 79 | + - [ ] This can be represented in an auditing browser app that shows colors when verified (token + VC) |
| 80 | + |
| 81 | + |
| 82 | +Small note with using the UMA server token signature as the contract signature. |
| 83 | +We can only trace this back to the UMA Server, and cannot reliably check the connection between the WebID and the UMA Server |
| 84 | + |
| 85 | +Another idea: preemptive auditing: |
| 86 | +- The store has to advertise who is auditing them |
| 87 | +- The contract has to be signed both ways |
| 88 | +- upon agreement, the data is sent to the store AND to the auditing service. |
| 89 | +- on auditing, the service can check if the store is withholding information |
| 90 | + |
| 91 | + |
| 92 | + |
| 93 | +## Demonstrator requirements |
| 94 | +- [ ] Protocol message modelling |
| 95 | + - [ ] claim request messages |
| 96 | + - [ ] claim provision messages |
| 97 | +- [ ] Logging system (no hard requirement) |
| 98 | + - [X] Create logging interface |
| 99 | + - [ ] Log Instantiated Policies |
| 100 | + - [ ] Log Access Grants |
| 101 | + - [ ] Log Operations |
| 102 | +- [ ] Authorization system |
| 103 | + - [ ] include logging endpoint |
| 104 | + - [ ] include authorization endpoint |
| 105 | + - [ ] include policy management endpoint |
| 106 | +- [X] Mock Policy instantiation |
| 107 | + - [ ] Write out policy model that works for demo |
| 108 | + - [X] ??? Discover existing policies to instantly grant some access |
| 109 | + - [ ] Link generic - instantiated - grant - operation |
| 110 | +- [x] Negotiation implementations |
| 111 | + - [X] Return instantiated policy requirements from ticket resolving function to create a signed instantiated policy to return |
| 112 | +- [ ] Signatures |
| 113 | + - [ ] Create a VC form an instantiated policy - I use the return JWT as a free signature |
| 114 | + - [ ] Create verification endpoint for issued VCs |
| 115 | +- [ ] Government mockup |
| 116 | + - [ ] Create verification endpoint for issued VCs (can be mocked) |
| 117 | +- [ ] Client |
| 118 | + - [ ] Make some mock-up of how storage could be handled in a way that allows for auditing |
| 119 | + - [ ] Recurring requests make use of the same grant? |
0 commit comments