Non-transitory computer readable storage media having instructions stored thereon that, when executed by a system of a host organization having at least a processor and a memory therein, the instructions cause the system to perform the following operations:
- operating a blockchain interface to a blockchain on behalf of a plurality of customers of the host organization, wherein each of the plurality of customers operate as a participating node on the blockchain;
- receiving a read request for data stored on the blockchain from a user authenticated with the host organization;
- issuing a write transaction to the blockchain specifying both (i) the user and (ii) the read request;
- wherein the write transaction automatically triggers execution of a smart contract to enforce access controls for the user;
- attaining consensus from the participating nodes of the blockchain for the write transaction at the blockchain pursuant to the access controls for the user being validated by the smart contract as allowing the user to read the data identified by the read request, wherein the write transaction is added to the blockchain with an indication the user has permission to read the data identified by the read request;
- retrieving the data from the blockchain identified by the read request;
- throwing an event indicating the user has permission to read the data identified by the read request and returning as part of the thrown event, the data retrieved from the blockchain;
- and
- returning the data retrieved from the blockchain to the user in fulfillment of the read request.