# Standards, Specifications and Compliance

## Inji Wallet Web - Standards Implementation

### Overview

Inji Web is a browser-based, progressive web app (PWA) credential wallet. No app installation required; works in modern browsers.

### Standards Implemented in Web

***

#### W3C Verifiable Credentials Data Model

**Specification**: <https://www.w3.org/TR/vc-data-model/> (See Standards Library for details)

**Web-Specific Implementation**:

* **Credential Download**: Receive W3C VC 1.1 credentials from OpenID4VCI issuers
* **Session Storage**: Store credentials in browser session or local storage (user-authorized)
* **Credential Display**: Render credentials in HTML with semantic understanding
* **PDF Export**: Download credentials as PDF with embedded QR codes
* **No App Required**: Work entirely in browser; no native app installation
* **Note**: v2.0 support planned for v0.16.0+

***

#### OpenID4VCI (Verifiable Credential Issuance)

**Specification**: <https://openid.net/specs/openid-4-verifiable-credential-issuance-1\\_0-13.html> (See Standards Library for details)

**Web-Specific Implementation**:

* **OAuth Flow**: Browser-based OAuth 2.0 flow for authentication with issuer
* **Credential Download**: Fetch credentials via HTTPS from issuer endpoint
* **Credential Request**: Submit credential requests with format preferences
* **Token Management**: Handle OAuth access tokens for credential requests
* **User Interface**: Web forms for credential issuance workflow
* **Release Timeline**: Available since v0.8.0

***

#### OpenID4VP (Verifiable Presentations)

**Specification**: <https://openid.net/specs/openid-4-verifiable-presentations-1\\_0-23.html> (See Standards Library for details)

**Web-Specific Implementation**:

* **Presentation Request Parsing**: Receive OpenID4VP requests from verifier web portals
* **Credential Matching**: Match holder credentials against verifier requirements
* **Browser-Based Signature**: Sign presentations using JavaScript crypto APIs
* **Selective Disclosure**: Present only requested claims
* **Response Transmission**: Send signed VP via HTTPS to verifier
* **Release Timeline**: Available v0.15.0+

**Note**: BLE (offline) is not available in browsers (security model limitation)

***

#### W3C DIDs (Decentralized Identifiers)

**Specification**: <https://www.w3.org/TR/did-core/> (See Standards Library for details)

**Web-Specific Implementation**:

* **Issuer DID Resolution**: Resolve issuer DIDs in browser to verify signatures
* **DID Cache**: Cache resolved DIDs for offline access
* **Holder DID Options**: Support for holder-bound DIDs (emerging feature)

***

#### JSON-LD (Linked Data)

**Specification**: <https://www.w3.org/TR/json-ld11/> (See Standards Library for details)

**Web-Specific Implementation**:

* **Semantic Rendering**: Display credentials with human-friendly claim labels
* **Language Support**: Multi-language credential display via JSON-LD context
* **Browser Processing**: Client-side JSON-LD context resolution

***

#### Selective Disclosure JWT (SD-JWT)

**Specification**: <https://datatracker.ietf.org/doc/html/draft-ietf-oauth-selective-disclosure-jwt> (See Standards Library for details)

**Web-Specific Implementation**:

* **Storage**: Store SD-JWT credentials in browser storage
* **Selective Presentation**: Generate disclosure tokens for requested claims only
* **Privacy**: Undisclosed claims remain hidden from verifiers
* **Release Timeline**: Available v0.15.0+

***

#### JWT (JSON Web Token)

**Specification**: <https://tools.ietf.org/html/rfc7519> (See Standards Library for details)

**Web-Specific Implementation**:

* **Storage**: Store JWT credentials in browser storage
* **Signature Verification**: Browser-based JWT verification using JavaScript crypto
* **Token Display**: Show JWT claims in human-readable format

***

#### W3C Bitstring Status List

**Specification**: <https://www.w3.org/TR/vc-bitstring-status-list/> (See Standards Library for details)

**Web-Specific Implementation**:

* **Status Checking**: Optionally check credential status before presentation
* **Issuer Call**: Fetch and validate bitstring from issuer (with CORS support)

***

#### Cryptographic Signature Verification

**Web-Specific Implementation** (via browser crypto APIs):

| Algorithm | Status               | Notes                        |
| --------- | -------------------- | ---------------------------- |
| Ed25519   | Available (v0.15.0+) | Verify Ed25519 signatures    |
| RSA       | Available            | RSA verification in browsers |
| ECDSA K1  | Available            | Verify secp256k1 signatures  |
| ECDSA R1  | Available            | Verify P-256 signatures      |

***

#### W3C Data Integrity 2.0 (Planned)

**Specification**: <https://www.w3.org/TR/vc-data-integrity/> (See Standards Library for details)

**Web-Specific Implementation** (Planned v0.16.0+):

* **JWS Verification**: Browser-based JWS signature verification
* **Canonical JSON Validation**: Verify canonicalized JSON-LD proofs

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.inji.io/inji-wallet/inji-web/technical-overview/standards-specifications-and-compliance.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
