Ghostshare is the service you use to share a file in a private and decentralized way!
This project combines Lit, Web3.Storage, XMTP, Covalent and Polygon in order to allow a user share a file in a private (encrypted) and decentralized way. We have a FileRegistry Smart contract which is used to register files and grant/deny access to it. That Smart contract is used as an evmContractCondition to check access to our encrypted file.
We used Lit to encrypt, decrypt our file in a decentralized way. We use Web3.Storage to store our encrypted file and a metadata file with all the required information to locate and decrypt the file. We use Covalent to query what files the user has shared and what files has been shared with him. We use XMTP in order to get a decentralized communication for requesting and granting/denying access to the file.