Building block
Issue, hold and present verifiable credentials in the W3C format.
Someone can issue you a credential, like a certificate or a membership, and you keep it with you. Later, when it matters, you present it to someone else, and they can check it's genuine without calling back the person who issued it.
Because the credential follows a real open standard, it isn't a private format only one app understands. A credential issued through one NAOMS app is built to be checkable by other software that speaks the same standard.
Holding a credential doesn't mean broadcasting it everywhere. You decide when and to whom you present it, and only then does the other side get to verify it.
NAOMS implements real W3C Verifiable Credentials, including a real W3C Data Integrity cryptographic proof format. It's not a custom format NAOMS invented that only NAOMS can read.
Your package can do all three parts of the lifecycle, not just one: issue a credential to a person, hold a credential that was issued to your user, and present a held credential to someone else for verification. Issuing, holding, and presenting are all real, working capabilities rather than a display-only or issuing-only slice.
This sits on the same standards work the identity and trust design already follows, the same family of standards work used by groups like the Decentralized Identity Foundation and the OpenWallet Foundation. That means a credential your package issues is meant to be checkable outside NAOMS too, not only by other NAOMS apps.
An issuer's package creates and signs the credential. The holder's package stores it. When needed, the holder presents it, and the verifier checks the Data Integrity proof against the standard, no custom decoder required.
A credential is issued to, and by, an Identity. It can back a statement in the Trust graph, for example a formal endorsement rather than a casual one. And a Relationship Card can present a credential as part of what it shows another person.
Issuer and holder
Can be backed by a credential
Can present a credential
Groups can require credentials