diff --git a/filesig/main.go b/filesig/main.go
index 708b007..b4f54ba 100644
--- a/filesig/main.go
+++ b/filesig/main.go
@@ -21,6 +21,7 @@ type FileData struct {
 	SignedAt time.Time
 	MetaData map[string]string
 
+	signature         *jess.Letter
 	verificationError error
 }
 
@@ -29,6 +30,11 @@ func (fd *FileData) FileHash() *lhash.LabeledHash {
 	return fd.fileHash
 }
 
+// Signature returns the signature, if present.
+func (fd *FileData) Signature() *jess.Letter {
+	return fd.signature
+}
+
 // VerificationError returns the error encountered during verification.
 func (fd *FileData) VerificationError() error {
 	return fd.verificationError
@@ -75,7 +81,9 @@ func SignFileData(fileHash *lhash.LabeledHash, metaData map[string]string, envel
 // Any returned file data struct must be checked for an verification error.
 func VerifyFileData(letter *jess.Letter, requiredMetaData map[string]string, trustStore jess.TrustStore) (fd *FileData, err error) {
 	// Parse data.
-	fd = &FileData{}
+	fd = &FileData{
+		signature: letter,
+	}
 	_, err = dsd.Load(letter.Data, fd)
 	if err != nil {
 		return nil, fmt.Errorf("failed to parse file signature data: %w", err)