Hi SAFE Devs,
I try to understand the following:
Suppose you want to build a SAFE app that lets a user disclose/share files with some other user (and only with that specific user) in a time-delayed fashion or without action from the sharer, e.g. when certain conditions (time elapsed and no action is needed from sharing user, or user actively triggers the disclosure by pressing a button in the SAFE app, etc) are met.
- User uploads his private files to the SAFE app and specifies conditions when specific other user(s) should get access to that files (under which conditions becomes the private file becomes a shared file)
- File remains private (and time elapses)
- Conditions are met (and sharer does nothing) or disclosure is actively triggered by sharer
- Specific other user(s) get(s) access to that formerly private files.
(Related: Time-lock transactions on the Bitcoin blockchain that hand over an access token, however they are public! Also thought about time-lock shielded transactions on the Zcash blockchain where the access token is stored in the encrypted memo field of the transaction, however Zcash does not support time-locked shielded transactions today)
Some questions on that:
- Is something like that possible with SAFE?
- What are the data structures and mechanisms one has to use for that purpose?
- The user with whom information/files conditionally should be shared has to have some reference via which the sharing could be established. What would that be in SAFE? Is there a “reference concept” directly within SAFE or must the SAFE app provide that reference?
Any hints and feedback is welcome! Thank you!