How does it work?
A short and slightly technical overview
To use Web3 Analytics, first you get an app key and instrument your app just like you would with any other analytics product.
When someone visits your app, we collect the details of the visit in a decentralized data store. The collection is privacy preserving and happens automatically and silently. How?
A keypair for your app is generated for the user, stored on their computer, and used to write the data into Ceramic, a decentralized data layer on top of IPFS.
The result is open analytics data, readable and composable by anyone but owned by the user, the only one who can delete it.
Having open analytics data in raw form as a public good is great, but faces the same challenge as raw blockchain data. It's hard to query and build on top of until it's indexed and queryable, so indexers run constantly to load data into an S3 data lake that SQL queries can be written against.
But how do indexers know they are indexing genuine app data?
Using the same keypair used to write data to Ceramic, on a user's first visit we also execute an OpenGSN transaction to register this user for the app using a smart contract. Because the keypair used for both is the same, we have a cryptographic guarantee that this data belongs to this user. Only data for users registered in the smart contract is indexed.
The dashboard builder allows you to create SQL queries and visual dashboards for any data that has been indexed. The process is very similar to Dune Analytics, and the dashboards that can be generated are the same as you might see in any web2 analytics product.