[Animo Solutions](www.animo.id) is working on making the TypeScript-based self-sovereign identity framework [Aries Framework JavaScript (AFJ)](https://github.com/hyperledger/aries-framework-javascript) compliant and interoperable with the standards defined in the [European Digital Identity Architecture and Reference Framework (ARF)](https://github.com/eu-digital-identity-wallet/eudi-doc-architecture-and-reference-framework/blob/main/arf.md). This overview describes the current state of the framework in terms of ARF compliance.
Are you interested in [helping bridge the gap](https://animo.id/project/making-aries-framework-javascript-a-global-framework)? Reach out to [ana@animo.id](mailto:ana@animo.id) directly to talk about joining or funding the project.
## Aries Framework JavaScript status
This table is based on the requirements table in the [ARF document](https://github.com/eu-digital-identity-wallet/eudi-doc-architecture-and-reference-framework/blob/main/arf.md) and extended with the column 'AFJ Status'.
<table>
<colgroup>
<col style="width: 20%" />
<col style="width: 40%" />
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 10%" />
</colgroup>
<thead>
<tr>
<th><strong>Component</strong></th>
<th><strong>Requirement</strong></th>
<th><strong>Type 1</strong></th>
<th><strong>Type 2</strong></th>
<th><strong>AFJ Status</strong></th>
</tr>
</thead>
<tbody>
<tr class="even">
<td>Cryptographic keys management system - 1</td>
<td><p>EUDI Wallet Solution [...] rely on one of the following
components to store and manage cryptographic keys:</p>
<ul>
<li><p>Embedded Secure Element or Trusted Execution Environment (for
mobile devices),</p></li>
<li><p>reliance on an external device (Secure Elements / Smart Cards),
and</p></li>
<li><p>a backend (remote Hardware Security Module).</p></li>
</ul>
<p>The choice of which secure hardware to be used and supported is up to
each EUDI Wallet Solution.</p></td>
<td>MUST</td>
<td>SHOULD</td>
<td>β</td>
</tr>
<tr class="odd">
<td>Cryptographic keys management system - 2</td>
<td>EUDI Wallet Solution [...] implement safety measures to prevent
export of cryptographic secrets.</td>
<td>MUST</td>
<td>SHOULD</td>
<td>β</td>
</tr>
<tr class="even">
<td>Attestation exchange Protocol - 1</td>
<td>EUDI Wallet Solution [...] support OpenID4VP as attestation exchange
protocol for <strong>remote flows.</strong> When pseudonymous
authentication is requested, request parameters SHOULD be specified in
accordance with OpenID SIOPv2.</td>
<td>MUST</td>
<td>MAY</td>
<td>π§</td>
</tr>
<tr class="odd">
<td>Attestation exchange Protocol - 2</td>
<td>The EUDI Wallet Solution [...] support the protocol detailed in the
standard ISO/IEC 18013-5:2021 for <strong>proximity</strong>
<strong>flows</strong>.</td>
<td>MUST</td>
<td>MAY</td>
<td>β</td>
</tr>
<tr class="even">
<td>Attestation exchange Protocol - 3</td>
<td>The EUDI Wallet Solution [...] perform checks to enforce session
binding (i.e., attribute request for PID).</td>
<td>SHOULD</td>
<td>MAY</td>
<td>β</td>
</tr>
<tr class="odd">
<td>Attestation exchange Protocol β 4</td>
<td>EUDI Wallet Solution [...] support attestation exchange protocol
alternatives<a href="#table7-fn1" class="footnote-ref" id="fnref1.2"
role="doc-noteref"><sup>1</sup></a>.</td>
<td>MAY</td>
<td>MAY</td>
<td>β
</td>
</tr>
<tr class="even">
<td>Attestation exchange Protocol - 5</td>
<td>The EUDI Wallet Solution [...] be able to perform proof of
possession.</td>
<td>MUST</td>
<td>MAY</td>
<td>β
</td>
</tr>
<tr class="odd">
<td>Attestation exchange Protocol - 6</td>
<td>EUDI Wallet Solution [...] support Selective Disclosure of
attributes as specified in ISO/IEC 18013-5:2021.</td>
<td>MUST</td>
<td>MAY</td>
<td>β</td>
</tr>
<tr class="even">
<td>Attestation exchange Protocol - 7</td>
<td>EUDI Wallet Solution [...] support Selective Disclosure of
attributes as specified in SD-JWT.</td>
<td>MUST</td>
<td>MAY</td>
<td>π§</td>
</tr>
<tr class="odd">
<td>Issuance Protocol -1**</td>
<td><p>The EUDI Wallet Solution [...] support OpenID4VCI as an Issuance
protocol.</p>
<p>Member States are free to include additional issuance protocol
alternatives in their national solutions.</p></td>
<td>MUST**</td>
<td>MUST</td>
<td>β
</td>
</tr>
<tr class="even">
<td>Data model -1</td>
<td>EUDI Wallet Solution [...] support attestations issued in accordance
with the data model specified ISO/IEC 18013-5:2021.</td>
<td>MUST</td>
<td>SHOULD</td>
<td>β</td>
</tr>
<tr class="odd">
<td>Data model -2</td>
<td>EUDI Wallet Solution [...] support attestations issued in accordance
with the data model specified in W3C Verifiable Credentials Data Model
1.1.</td>
<td>MUST</td>
<td>SHOULD</td>
<td>β
</td>
</tr>
<tr class="even">
<td>PID & (Q)EAA formats - 1</td>
<td>EUDI Wallet Solution [...] support attestation in JWT and SD-JWT
format.</td>
<td>MUST</td>
<td>MAY</td>
<td>π§</td>
</tr>
<tr class="odd">
<td>PID & (Q)EAA formats - 2</td>
<td>EUDI Wallet Solution [...] support attestation in CBOR format.</td>
<td>MUST</td>
<td>MAY</td>
<td>β</td>
</tr>
<tr class="even">
<td>PID & (Q)EAA formats - 3</td>
<td>EUDI Wallet Solution [...] support attestation in JSON-LD
format.</td>
<td>MAY</td>
<td>MAY</td>
<td>β
</td>
</tr>
<tr class="odd">
<td>Signature formats -1</td>
<td>EUDI Wallet Solution [...] support signature and encryption formats in
accordance with JOSE(JWT) specifications.</td>
<td>MUST</td>
<td>MAY</td>
<td>β
</td>
</tr>
<tr class="even">
<td>Signature formats - 2</td>
<td>EUDI Wallet Solution [...] support signature and encryption formats in
accordance with COSE specifications.</td>
<td>MUST</td>
<td>MAY</td>
<td>β</td>
</tr>
<tr class="odd">
<td>Signature formats - 3</td>
<td>EUDI Wallet Solution [...] support signature and encryption formats in
accordance with LD-Proof specifications.</td>
<td>MUST NOT</td>
<td>MAY</td>
<td>β
</td>
</tr>
<tr class="even">
<td>Cryptographic suites and mechanisms - 1</td>
<td>EUDI Wallet Solution [...] support cryptographic suites and
mechanisms used for attributes detailed in SOG-IS Agreed Cryptographic
Mechanisms Version 1.2.</td>
<td>MUST</td>
<td>SHOULD</td>
<td>β</td>
</tr>
</tbody>
</table>
<section id="footnotes" class="footnotes footnotes-end-of-document"
role="doc-endnotes">
<hr />
<ol>
<p>**Only meant for (Q)EAA that must have a common issuance protocol to guarantee interoperability. For PID itβs up to the Member State to define the issuance protocol and each wallet solution will support the specific PID Issuance protocol according with the Member State specifications.<a href="#fnref1" class="footnote-back"
role="doc-backlink">β©οΈ</a></p></li>
</ol>
</section>