Event
Base class for events recorded in the EventLogger.
This sealed class ensures a restricted hierarchy of event types that can be securely serialized and persisted. New events may be added to this hierarchy in future versions.
Any data recorded needs to be able to work on other systems (e.g. forensic analysis) and in the future where e.g. the user might have deleted the document that they presented.
As such, data should be copied into the event and use of identifiers to point to e.g. documents, credentials, or trust entries is only allowed if there it's optional or not the only source of truth.