gpg --detach-sign file grava file.sig (binário), e --armor grava file.asc; gpg --verify file.asc file faz a verificação. As assinaturas SSH (ssh-keygen -Y sign), os bundles do Sigstore, o JWS com payload desanexado e as partes multipart/signed do S/MIME funcionam da mesma forma. O verificador precisa receber exatamente os mesmos bytes que foram assinados; mudanças nos finais de linha ou uma recompressão quebram a verificação.
Uma assinatura desanexada válida prova apenas que alguma chave assinou aqueles bytes: o verificador ainda precisa decidir se a chave pertence ao editor esperado, de preferência por uma impressão digital ou uma identidade fixada, e não por qualquer chave que a assinatura indique.