Storage
When creating a template, you can specify a storage
parameter to determine where the credentials will be stored. The possible values for this parameter are:
crossmint
delegated
decentralized
Crossmint Storage
With this option, credentials are stored on the Crossmint database. This is the most flexible solution and is compatible with all other features.
IMPORTANT: There is not access control on credential retrieval, credential data is public and can be retrieved by anyone, use encrypted credentials if you need to protect the data.
Decentralized Storage
This option will store the credential to a decentralized storage (IPFS)`. All retrieval API will still be available and will proxy the request to ipfs.
Encryption is suggested to avoid the credential to be public.
NOTE: credential issuance will be slower than other storage options.
Delegated Storage
With delegated storage, the credential is not stored anywhere and no reference to the data is stored on Crossmint databases. The credential is returned to the issuer via the webhook and the issuer is responsible for storing it.
All Crossmint retrieval endpoints will consequently be disabled. A delegatedStorageEndpoint
parameter must be added to the template creation request to specify the endpoint where the credential can be retrieved. (Can be set to a dummy value like “unknown” if not desired)
This endpoint will be saved in the contract metadata and can be used by users to retrieve the credential associated with their NFT.