While Signal has deniability and Session does not, cryptographically, neither have plausible deniability in practice.
Session made this argument wrt deniability when, unveiling the first version of their protocol in 2020, justifying why they sign messages with the sender’s long-term identity key. They cited the problem that courts and media may treat messages as authentic evidence even when there is no cryptographic authenticity.
Practicality
Deniability in the Signal protocol is a cryptographic property which prevents a cryptographic proof from being provided that a person signed a message with a particular key. In practice, cryptographic deniability is often disregarded when it comes to court cases or media reporting. For example, cryptographic deniability was used unsuccessfully as a defense in a court case involving the communications of Chelsea Manning and Adrian Lamo. Instead, courts often rely on screenshots of conversations from a dishonest chat partner or seized devices to establish the real world identities of the chat participants.
For plausible deniability to exist, the official clients of Signal, Session, SimpleX etc could add something like the ability to edit anyone’s messages locally (without leaving an edit log of course) and not just one’s own messages globally. This is not my idea; Session proposed this feature in the same article but AFAIK never implemented it.
On the loss of cryptographic deniability
…
Instead of designing a cryptographic protection, Session will add the ability to edit other users’ messages locally, thus providing a way to completely forge conversations. Since signatures are deleted after messages are received, there will be no way to prove whether a screenshot of a conversation is real or edited, diminishing the value of screenshots as evidence.