AFJ Feature Overview

The below contribution is a joint effort between Northern Block and Animo.

Platform Support

Platform Supported Notes
iOS โœ… Runs in React Native
Android โœ… Runs in React Native
Server โœ… Runs in Node.JS
Desktop โš ๏ธ Runs in Electron (still WIP)
Browser โŒ Indy cannot run in browser due to ZMQ

Agent Types

Role Supported Notes
Issuer โš ๏ธ Only in Node.JS, doesn't work in React Native
Holder โœ…
Verifier โœ…
Mediator โœ… Supports both mediator and mediatee role

AIP Support

AIP Version Supported Notes
AIP 1.0 โš ๏ธ Missing support for issuing revocable indy credentials
AIP 2.0 ๐Ÿšง Implementation in progress

Credential Types

Credential Type Supported Notes
Indy Credentials โœ…
W3C Credentials ๐Ÿšง

DID Methods

Method Supported Notes
did:sov โš ๏ธ did:sov DIDs are supported for indy credential based actions, not as generic did capabilities. Using public DIDs for creating connections is not supported.
did:peer โœ… Indy based did:peer dids are used for DIDComm, however the DIDs are not prefixed with did:peer yet and are not following the conventions from RFC 0627: Static Peer DIDs

Wallet Types

Wallet types Supported Notes
Indy SDK โœ… Indy SDK provides storage, crypto, indy credentials and indy ledger support
Aries Askar ๐Ÿšง

Miscellaneous Features

Feature Supported Note
Connectionless (non OOB protocol) โœ… Only for issue credential starting with credential offer and present proof starting with proof request
Multi use invitations โœ…
Multi ledger support (with automatic detection) โœ… Github Issue
Invitations using public did โŒ Github Issue
Persistence of mediated messages โŒ Messages are currently stored in memory (Github Issue)
Implicit pickup of messages in role of mediator โŒ Only support explicit pickup of message using pickup protocol (Github Issue)
Revocable Indy Credential โš ๏ธ Only receiving, providing and verifying. Issuing not supported
Wallet Import & Export โœ… Github Issue
Multitenancy ๐Ÿšง
Postgres wallet support โœ…

Supported RFCs (AIP 1.0 and 2.0)

RFC Supported Note
0003-protocols โœ…
0004-agents โœ…
0005-didcomm โœ…
0008-message-id-and-threading โœ…
0011-decorators โœ…
0015-acks โœ…
0017-attachments โœ… Signed attachments not supported
0019-encryption-envelope โœ…
0020-message-types โœ…
0023-did-exchange โœ…
0025-didcomm-transports โœ… Support for HTTP and WebSockets
0035-report-problem โœ…
0036-issue-credential โš ๏ธ Issuing revocable credentials not supported
0037-present-proof โœ… Revocation not supported.
0044-didcomm-file-and-mime-types โœ…
0047-json-LD-compatibility โœ…
0046-mediators-and-relays โœ…
0048-trust-ping โœ…
0050-wallets โœ…
0056-service-decorator โœ…
0092-transport-return-route โœ…
0094-cross-domain messaging โœ…
0095-basic-message โœ…
0160-connection-protocol โœ…
0211-route-coordination โš ๏ธ Only pre-AIP 2.0 version. Must be updated to use did:key for AIP 2.0 support
0183-revocation-notification โœ…
0360-use-did-key โš ๏ธ Not integrated by all protocols yet
0434-outofband โœ…
0441-present-proof-best-practices โœ…
0453-issue-credential-v2 โœ…
0454-present-proof-v2 ๐Ÿšง
0510-dif-pres-exch-attach ๐Ÿšง
0519-goal-codes โŒ
0557-discover-features-v2 โŒ
0587-encryption-envelope-v2 โŒ
0592-indy-attachments โš ๏ธ Supported for Issue Credential v1 & v2 and Present Proof v1, not v2
0593-json-ld-cred-attach ๐Ÿšง
0627-static-peer-dids โœ…
0646-bbs-credentials ๐Ÿšง
0317-please-ack โœ…

Non AIP supported RFCs

RFC Supported Note
0028-introduce โŒ
0031-discover-features โœ… V1
0212-pickup โœ…
0509-action-menu โŒ
0641-linking-binary-objects-to-credentials โœ