This is a GDPR problem and no, Algorand in it’s public, permissionless form cannot handle it.
You could get around it in another way by storing the exact criminal procedure off-chain and only putting a hash checksum commitment to it on-chain. I made AlgoArchiver to deal with this kind of scenario: http://algoarchiver.onrender.com
However, that might still be too much since the hash checksum stored might still be considered enough to be in violation.
You could upgrade the solution by committing a hash of the text (e.g. in a .txt file) + some kind of salt, some extra kind of secret data. So even if someone has the file they wouldn’t be able to link it to the commitment on the chain. However if someone demands the records you could provide them with the file + salt, then they could manually compute the hash checksum for the combination and confirm that it aligns with what’s on the chain. Then you would need to trust that they would delete the salt and not make it publicly known.
Regarding a ZKP solution, ZoKrates can be used to create Groth16 zk-SNARKs that are validatable by the Algorand blockchain. This particular example shows how someone can prove to someone else that they know of a hash-pre image without actually revealing the pre-image: Proving knowledge of a hash preimage - ZoKrates
In other words, it could allow someone to prove that they have the text record corresponding to a specific hash checksum commitment on-chain, without actually handing over that text record.
I haven’t put much thought into how it could be useful in this case however, since the point is to reveal the text records.