---
# System prepended metadata

title: Project Name

---

# Project Name
> _Include the name of project being proposed._

Agent Framework JavaScript (for now, at least we can keep the AFJ acronym)

# Preferred Maturity Level
> _Specify the stage that you want this project to enter. See [project lifecycle](https://tac.openwallet.foundation/governance/project-lifecycle/#stages) for information on the different stages._

> Stage summary
> 1. **Labs Stage**: This initial stage is for projects that are either early-stage or well-established with minimal resource needs. It provides a neutral home to foster collaborative development and align with OpenWallet Foundation projects. Labs projects receive minimal support and undergo an annual review.
> 2. **Growth Stage**: Aimed at projects seeking to reach the Impact Stage, this phase involves actively developing a community, governance, documentation, and a roadmap. Growth projects receive more resources and mentorship from the Technical Advisory Council (TAC) and are expected to move out of this stage within two years.
> 3. **Impact Stage**: This stage is for projects that have met their growth goals and entered a sustaining cycle of development, maintenance, and long-term support. These projects often have large, established communities and are commonly used in ~~enterprise production environments~~. Impact projects participate actively in TAC and receive ongoing support from the Foundation.

Somewhere between growth and impact?

# Project Description
> _Include a description of the project, including what it does, why it is valuable, the origin and history, and other information that will allow others to understand what the project will include. Architecture diagrams should be included if available._

Aries Framework JavaScript has evolved significantly since its inception as a Hyperledger Aries project. Initially, it heavily relied on Hyperledger standards such as DIDComm, Indy, and AnonCreds. However, with advancements in verifiable credential technology and the emergence of new standards, the framework underwent multiple refactoring and modularization processes to maintain interoperability.

This allowed for the inclusion of non-Hyperledger standards like W3C Verifiable Credentials with Data Integrity Proofs, Presentation Exchange, OpenID4VC, and SD-JWT integration. As industry requirements shifted towards greater modularity, it became apparent that a unified framework may be better.

The future direction for Aries Framework JavaScript involves adopting a compartmentalized approach consisting of single-purpose libraries designed to work together seamlessly, building on what is already out there. This transition will take considerable effort and will, therefore, be gradual.

In order to expand the framework's support for standards beyond the Hyperledger ecosystem, a reassessment of its governance was necessary. The Open Wallet Foundation (OWF) has been considered a potential steward due to its commitment to promoting interoperability without directly developing or maintaining standard protocols.

![afj-high-level-arch.png](https://hackmd.io/_uploads/BkFci89XT.png)

> **NOTE:** In addition to the [Aries Framework JavaScript repository](https://github.com/hyperledger/aries-framework-javascript), we propose moving the [Aries Framework JavaScript Extensions](https://github.com/hyperledger/aries-framework-javascript-ext) and [Aries Mobile Agent React Native](https://github.com/hyperledger/aries-mobile-agent-react-native) repositories, due to their strong relationship with the framework.
> 
> However, the motivation to propose this move is based on the framework's evolvement. This document will there fore primarity focus on the framework.

# Alignment with the OpenWallet Foundation Mission
> _Include a statement on alignment with the [OpenWallet Foundation mission](https://tac.openwallet.foundation/governance/charter/)._

The objective is to promote interoperability by supporting numerous standards, as was outlined earlier. As a Hyperledger project, all components have been open source from the beginning.

Maintainers will persist in collaborating with Standards Development Organizations (SDOs) across ecosystems, as done previously.

# Code of Conduct
> _Has this project adopted a Code of Conduct? If so, please include a link to it. If a current code of conduct is not adopted, will you adopt the [OpenWallet Foundation code of conduct](https://tac.openwallet.foundation/governance/code-of-conduct/)?_

The project currently follows the Hyperledger Code of Conduct as is the case for all Hyperledger projects: [Hyperledger Code of Conduct - Hyperledger - Hyperledger Foundation](https://wiki.hyperledger.org/display/HYP/Hyperledger+Code+of+Conduct). Hyperledger being part of the Linux Foundation too, it may be assumed its Code of Conduct is in line with the foundation's policies.

# TAC Sponsor
> _Include the name of a sponsor from the TAC, if identified (a sponsor helps mentor projects)._

# Project License
> _Include the proposed project license. The OpenWallet Foundation will consider [OSI-approved](https://opensource.org/licenses/) permissive open source licenses and prefers Apache 2.0._

The project has an Apache 2.0 license: [hyperledger/aries-framework-javascript: Aries Framework JavaScript \(Built using TypeScript\)](https://github.com/hyperledger/aries-framework-javascript%23license)

# Source Control
> _If the project already exists, please provide a link to the repositories. If no source exists, this is okay. Please state that this will be a completely new project with code beginning in the OpenWallet Foundation._

The project is hosted in GitHub and includes the following repositories:
- The framework [hyperledger/aries-framework-javascript: Aries Framework JavaScript \(Built using TypeScript\)](https://github.com/hyperledger/aries-framework-javascript%23license)
- The framework's extensions: [hyperledger/aries-framework-javascript: Aries Framework JavaScript \(Built using TypeScript\)](https://github.com/hyperledger/aries-framework-javascript%23license)
- Aries Mobile Agent React Native (formerly Bifold): [GitHub - hyperledger/aries-mobile-agent-react-native: Aries Mobile Agent React Native - Part of the Aries Bifold effort to provide SSI capabilities in a production ready app.](https://github.com/hyperledger/aries-mobile-agent-react-native)

# Issue Tracker
> _OpenWallet Foundation expects that an issue tracker is open to anyone who would like to view, add, or fix issues. This information allows the TAC to better judge the state of the project maturity. If the project already exists, please provide a link to the issue tracker. If there is no issue tracker or you do not currently track issues, please answer with "N/A (not applicable)"._

The issues are tracked using Github's issue feature in the corresponding repository. For issues that span across multiple repositories, Github's projects feature may be used.

# External Dependencies
> _If there are any external dependencies, please list those here including licenses._



# Release Methodology
> _If the project already exists, please provide details on the release methodology and mechanics. If there is not currently a release methodology, please answer with "N/A (not applicable)"._

All artifacts of the project use SemVer for versioning and have continuous integration/continuous delivery pipelines built using GitHub actions. All releases are done automatically.


# Initial Maintainers
> _Include the names of initial maintainers and their GitHub IDs._

| name               | Github                                                     |
| ------------------ | ---------------------------------------------------------- |
| Berend Sliedrecht  | [@blu3beri](https://github.com/blu3beri)                   |
| Jakub Kočí         | [@jakubkoci](https://github.com/jakubkoci)                 |
| James Ebert        | [@JamesKEbert](https://github.com/JamesKEbert)             |
| Karim Stekelenburg | [@karimStekelenburg](https://github.com/karimStekelenburg) |
| Timo Glastra       | [@TimoGlastra](https://github.com/TimoGlastra)             |
| Ariel Gentile      | [@genaris](https://github.com/genaris)                     |
| Jan Rietveld       | [@janrtvld](https://github.com/janrtvld)                   |

# Proposed Project Governance
> _Briefly describe the project's leadership team and decision-making process._

The current governance model under Hyperledger is community-based. This means that decisions are made democratically, with the aim of community consensus. In cases where no clear consensus is established, active contributors may be granted a louder voice.

# Links to Documented Governance Practices
> _Include a link to the project charter. The project charter can be obtained by completing the [project intake form](https://docs.google.com/forms/d/e/1FAIpQLSeO1bDGHUP-ZpCo1uynm94YOxZlek6RhCH7o3FnX1lZSXXfSQ/viewform?fbzx=4351560609072672295)._

# Financial Sponsorship
> _Include any existing financial sponsorship. If none, please state "None"._

None?

# Infrastructure
> _Include any infrastructure needs or requests. OpenWallet Foundation provides a set of [services for projects and labs](https://tac.openwallet.foundation/project-and-lab-services/). Please note which of these you will utilize and what else is required._

https://tac.openwallet.foundation/governance/project-and-lab-services/

code-cov