It currently stores both the raw predicate and the signed attestation (which also contains the predicate).
This seems redundant (users can get the predicate from the signed attestation) and potentially dangerous (users can get the predicate data without verifying the signature on the attestation).
So, perhaps it would make sense to only store the signed attestation, and provide an 'easy' way to verify the signature attestation and get the contents?