Authored by Colin Schwarz
ChainSafe Files provides highly private, highly secure cloud storage that allows users to maintain full control over their data. Our product leverages IPFS and Filecoin to give users all the benefits of distributed storage and blockchain technology. Files abstracts away the complexities of these systems to deliver a simple, user-friendly experience. In this way, users can enjoy easy access to our non-custodial data storage solution that is more private, more resilient, and more decentralized than traditional cloud storage options. Try it today here!
Co-authored by Timothy Hao Chi Ho
What is data ownership and why is it important?
Modern capitalist society is based around the concept of private property. If you buy a house, you can prove that you own it and everyone else in society acknowledges your ownership of that property. If you invent something new, you can apply for a patent for ownership over that idea. If you write a book, you can publish it and earn revenue from its sale and you can sue if someone else tries to publish your book as their own.
On the other hand, if you write a tweet, or post a photo on Instagram, who owns that material? What about all the data about your online shopping history or even your banking transactions? All of those activities generate digital data that powers one of the largest industries in the world today. However, unlike other aspects of our society, most of the data that people produce and store on the internet is not owned by them. Once created, it becomes the property of the company where that data was stored, posted, or filtered through. Some of the largest companies in the world have prospered by appropriating the data of their users and selling it for marketing and machine learning at astronomical profits.
Most of the value generated online is captured by large companies who exploit their users' data, thereby removing a user's agency over the very data they created. At ChainSafe, we believe that users of the internet should be able to maintain control over their data. Files provides data ownership to users through complete end-to-end encryption of all uploaded data. Files are encrypted on the client side, throughout transit and at rest. This ensures that even though IPFS and Filecoin are public networks, all of your data remains yours and yours alone. Another aspect of data ownership is freedom of retrieval. Files gives users full control over where and how their data is hosted and retrieved. More on this below!
How is Files Different?
IPFS and Filecoin are distributed file storage networks that allow users to store their data online without fear of it being compromised or exploited. ChainSafe Files leverages both of these networks, abstracts away the complexities of the underlying storage layers, and provides users with a simplified front-end that does all the "non-evil" things you could want from a cloud storage solution:
Easy to use
Shared folders and permissions settings
Is completely non-custodial (see more here)
Safeguards your privacy and security through powerful encryption
Unlike traditional Web2 cloud storage, ChainSafe Files doesn't:
Expose your data to anyone other than you or folks you choose to share it with
Profit from your data in any way
Take any action that would cause you to lose ownership of your data
Thibaut's article on Files' infrastructure does an excellent job explaining the architecture and how it all jives together. In essence, when users upload files using our system, we take these files, encrypt them so only you can read the contents of the files, before pinning it to IPFS as a caching layer. For long term storage, we then also upload these files to the incentivized Filecoin network to ensure multiple levels of redundancy.
In this sense, should an IPFS node or Filecoin miner go down, there will always be several backups available from which to restore your files.
For most users, this level of privacy, redundancy and data ownership likely satisfies their requirements. However, at ChainSafe we understand that some will in fact want even stronger guarantees that they will be able to access their files.
What if the Files UI or back end goes down? 😱
All files uploaded via our front-end UI are given content identifiers (CIDs). In IPFS' content-based addressing, information is stored based on its content, not on its location like in the web2 world. To easily allow you to download, decrypt, and access all your files, we have built a special command-line interface (CLI) tool so that you can get to your files even without our interface. Talk about full-service!
The CLI Tool
The CLI tool can be found in this repo: https://github.com/ChainSafe/files-cli
To use the CLI tool, users are required to have recorded the CIDs for their files in advance. Each files' CID can be found in the "Info" section of the options menu (ellipsis button on each line item).
For folks with very high data ownership requirements, we recommend recording your CIDs periodically, or even at the time of upload for each file.
Once all CIDs have been recorded down, simply follow the instructions in the README to download the files directly from IPFS. Currently, the tool only works for files pinned to IPFS due to the expense of retrieval on Filecoin. However, all files uploaded through our product are backed up multiple times on both IPFS and Filecoin, so users should have no issue retrieving their files from IPFS using the CLI tool.
We built this tool to eliminate ourselves as a single point of failure for data retrieval and to deliver on our promise of giving users full control and ownership over the data they upload to IPFS and Filecoin. If there is enough demand, we would consider improving the tool to allow for automatic downloads of CIDs and other features that may be requested.
We rely on user feedback to help make files better so we would love to hear your thoughts! What do you like about Files? Is there anything you would change? What feature would you like to see in the future? Tell us what you think in our Files power user Telegram group, or on GitHub. Also feel free to reach out on Twitter and head over to our Discord channel for product support and Q&A.
Help Us Help You!
Help shape the future of Files by scheduling a user interview with our product manager Colin Schwarz. The user interviews are short 15 minute calls that aim to gleam insights into your current problems and solutions, and how Files might help. Schedule a call today!