<aside>
💡 A database that gives users total access and control over their data.
</aside>
Basic is privacy-first decentralized database network that gives users complete control and access over their data. Applications can request access to a users database, and the user can revoke that access at any time.
Observations/Problem
- User data **(ie. notes, tasks, journals, fitness, habit trackers, emails, pictures, comments, social media posts, etc) is stored & controlled by applications & companies. Leads to:
- Privacy issues (hacks, data used for ads & marketing, selling personal info to third parties)
- information spread across applications (notes, tasks, etc spread across different apps)
- Web3 protocols have native (& widely accepted) solutions for identity (wallets, etc), payments (crypto), computing (smart contracts), digital ownership $^2$ (nfts), file storage (arweave, ipfs, etc) - but not yet, user data.
Proposal/Solution
Definitions:
- User: the end user, tied to a unique identity (ie wallet, email address, etc)
- Datastore: where all the information/data created by a User is stored. A datastore contains a list of permissioned applications, each with its own data tables.
- Applications: Tools, apps, websites, etc created by developers & companies.
A database that gives end users full control over personal data, allowing applications to access data.
- All user data is tied to an identity (wallet, email address, etc). A User can view/access all data it has saved across all applications.
- Applications need to request access to a User’s datastore - users can revoke access at any time, at which point the application would lose access to all data tied to the identity.
- Users can give multiple applications access to the same datasets, allowing for similar types of data to be shared across different applications. (ie, notes, calendars, tasks would show up everywhere you want them to)
For example, a new startup is building a productivity app for users to keep track of To-do lists:
- User login to the application - using their preferred identity provider (wallet, email, etc)
- User gives permission to application to create & store data in their datastore
- Application provides the UI, functionality, etc but stores all data tied to the User (to-do lists) in the User datastore
- User can login to their datastore and see all the data (to-do lists) they have stored with this application, and can revoke access, share with a different application, export, modify, etc.