diff --git a/core_test.go b/core_test.go
index e79046c..045abd3 100644
--- a/core_test.go
+++ b/core_test.go
@@ -378,6 +378,7 @@ func setupEnvelopeAndTrustStore(t *testing.T, suite *Suite) (*Envelope, error) {
 		case tools.PurposeKeyEncapsulation:
 			e.suite.Provides.Add(RecipientAuthentication)
 		case tools.PurposeSigning:
+			e.suite.Provides.Add(Integrity)
 			e.suite.Provides.Add(SenderAuthentication)
 		case tools.PurposeIntegratedCipher:
 			e.suite.Provides.Add(Confidentiality)
diff --git a/session.go b/session.go
index fd29cac..24d5d2a 100644
--- a/session.go
+++ b/session.go
@@ -164,6 +164,7 @@ func newSession(e *Envelope) (*Session, error) { //nolint:maintidx
 
 		case tools.PurposeSigning:
 			s.signers = append(s.signers, logic)
+			s.toolRequirements.Add(Integrity)
 			s.toolRequirements.Add(SenderAuthentication)
 
 		case tools.PurposeIntegratedCipher:
diff --git a/suites.go b/suites.go
index ce01b38..2fc682d 100644
--- a/suites.go
+++ b/suites.go
@@ -35,7 +35,7 @@ var (
 	SuiteSignV1 = registerSuite(&Suite{
 		ID:            "sign_v1",
 		Tools:         []string{"Ed25519(BLAKE2b-256)"},
-		Provides:      newEmptyRequirements().Add(SenderAuthentication),
+		Provides:      newEmptyRequirements().Add(Integrity).Add(SenderAuthentication),
 		SecurityLevel: 128,
 		Status:        SuiteStatusRecommended,
 	})
diff --git a/suites_test.go b/suites_test.go
index ec06de4..277f63a 100644
--- a/suites_test.go
+++ b/suites_test.go
@@ -193,6 +193,7 @@ func suiteBullshitCheck(suite *Suite) error { //nolint:maintidx
 
 		case tools.PurposeSigning:
 			s.signers = append(s.signers, logic)
+			s.toolRequirements.Add(Integrity)
 			s.toolRequirements.Add(SenderAuthentication)
 
 		case tools.PurposeIntegratedCipher:
@@ -417,6 +418,7 @@ func computeSuiteAttributes(toolIDs []string, assumeKey bool) *Suite {
 			newSuite.Provides.Add(RecipientAuthentication)
 
 		case tools.PurposeSigning:
+			newSuite.Provides.Add(Integrity)
 			newSuite.Provides.Add(SenderAuthentication)
 
 		case tools.PurposeIntegratedCipher: