I think you are mistaken.
The use of self-encryption eliminates the need for keys to be kept by the client. Public and private immutable data is self-encrypted the same way and there is no difference. The data map for files is a list of chunk addresses and since the data is self encrypted the “keys” are derived from the datamap and data.
The difference between private and public data is that for private data only you hold the data and for public data the data map is in a publicly searchable store. For private files you can give the data map to whom you please then they too can read the file.
The client uses the data map to decrypt the file as it is read from the network.
Anyone with the data map can read the file. No need to give out your keys or anything like that. Just the datamap.