Alice wants to send a message to Bob for him to keep and to be able to refer to, such that Bob can be certain that the message came from Alice and was not tampered with.
Alice also wishes to store a copy of the message such that she can refer to it in future, and be sure that it has not been tampered with.
Some time after Bob has verified Alice's message, Mallory obtains access, on an ongoing basis, to copies of all information that Alice and Bob possess or receive (including plaintexts and signatures/MACs), aside from secrets Alice and Bob store in their minds.
Despite Mallory's access to all this information, Mallory still cannot prove that Alice ever signed the message.
Alice rightfully trusts that Bob's public OpenPGP key is indeed Bob's.
Alice and Bob both keep their OpenPGP private keys out of Mallory's reach (e.g. using OpenPGP smart cards).
My question: regardless of whether OpenPGP is used in the solution, can Alice achieve her desiderata?