Skip to content

feat: track validation status of decrypted submissions - #3223

Open
kelvin-muchiri wants to merge 2 commits into
mainfrom
feat-track-submission-validation-status
Open

feat: track validation status of decrypted submissions#3223
kelvin-muchiri wants to merge 2 commits into
mainfrom
feat-track-submission-validation-status

Conversation

@kelvin-muchiri

@kelvin-muchiri kelvin-muchiri commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Changes / Features implemented

Encrypted submissions are checked against the signature they were submitted with. Until now, a submission that did not pass that check was rejected outright and its contents were discarded, and a submission that carried no signature at all was treated the same way — even though sending one is optional.

Both are now decrypted and kept, and the result of the check is recorded against each submission: the content matched its signature, it did not match, or there was no signature to check it against. Submissions decrypted before this change are recorded as having matched, since that was the only way they could have been accepted.

Nothing is exposed through the API yet. When content does not match its signature, a warning is written to the logs so it can be noticed without anyone having to go looking for it.

Steps taken to verify this change does what is intended

  • Added tests

Migrations were applied, reversed and re-applied against a database to confirm they are safe to roll back. The new index is built without blocking submissions from coming in.

Side effects of implementing this change

A submission whose content does not match its signature now counts as successfully decrypted, where previously it counted as a failure. Anything that reports on decryption failures will see fewer of them.

Submissions that failed this check in the past are recoverable but are not touched by this change.

Before submitting this PR for review, please make sure you have:

  • Included tests
  • Updated documentation

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Closes #3224

Bump valigetta to v0.3.0, which returns a submission's validation status
alongside the decrypted files instead of rejecting a submission whose
content does not match its signature.

Record that outcome on the Instance. A submission that does not match its
signature, or that carries no signature at all, is now decrypted and kept
rather than discarded, and the outcome is logged when content does not
match.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Keep track of the validation status of every decrypted submission

1 participant