Indy SDK Wishlist
Indy Agent Connect-a-thon 2019-02-22
N-wise relationship support
APIs should support N parties as peers even if N=2 for now
Need cryptography to avoid correlation
DID Doc support
Fully qualified DIDs needed first
All functions that take a DID as an argument should tolerate taking a DID with a predefined prefix.
Down the road: pluggable DID resolvers.
Multiple key support
Review the Sovrin DID spec to ensure it has the right language around limitations relative to other DID methods (biometrics discouraged from DID documents).
Non-Sovrin Verifiable Credentials
At least provide placeholders for Envoy contributors
Alternate representations of a credential (Web AuthN)
Message Trust Context
Messages should contain indicators to signal how much trust should be given to the message
Did it arrive encrypted?
User configuration for a default trust level that will trigger warnings or rejection.
Wallet deletion
Keys (and other items) that are no longer needed
Storing thread-state or protocol state in a generalized way in the wallet
Key to DID lookup
Current approaches are not efficient: tags, reverse lookups
Loading the in-memory wallet:
for unit test
development
Encryption:
Pluggable cypher suites with the wallet
HSM / TPM support
CI / CD wishlist:
WASM build as an official output with CI / CD
Blocked by LibZMQ dependency
CI tests run on Arm
Currently tests to reduce the time needed
IOS dependencies outside LibIndy should be built into it, similar to Android builds
Platform updates:
Newest version of LibSodium
Or document why we can’t change it.
Improvements for Python 3.7
Can use features today that are backwards compatible to Python 3.5
Wrapper wishlist:
Simple wrappers for integration tests (easy to maintain across languages)
“Phat Rappers” Fat wrappers for easy developer usage (language idiomatic language libraries) differentiated from thin language wrappers
Agents in the SDK
Wallet for a static agent (read-only storage for the wallet layer)
CLI Agent (Spencer’s cookie jar demo)
Schema 2.0 / W3C VC
DIF Credential Manifest
Encoding improvements
More encoding types in the SDK
Encoding extension mechanism
Integrating Ursa
Increased predicate support
Credential aggregation
Credential chaining
M of N issued credentials
Delegatable credentials
Data custody (GDPR)
Rental agreements (delegates authorization)
Credential verification improvements
Partial proving (date of revocation)
Proving to a group of people
Generate both repudiable and non-repudiable proofs
Agent Authorization Policy