Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
188 changes: 188 additions & 0 deletions EVES/EVES-009/eves-009.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
---
eves-identifier: 009
title: ENVITED-X Evidence-Based Consent Using Verifiable Presentations
author: Felix Hoops (@flhps)

Check notice on line 4 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L4

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 4, "column": 21}}}, "severity": "INFO"}
discussions-to: https://github.com/ASCS-eV/EVES/issues/

Check notice on line 5 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L5

[Google.Acronyms] Spell out 'ASCS', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'ASCS', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 5, "column": 36}}}, "severity": "INFO"}

Check notice on line 5 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L5

[Google.Acronyms] Spell out 'EVES', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'EVES', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 5, "column": 44}}}, "severity": "INFO"}
status: Draft
type: Standards
created: 2026-03-17
requires: ["EVES-001", "EVES-002"]
replaces: None
---

## Abstract

This specification defines a protocol for generating and verifying cryptographic evidence of user consent in the ENVITED-X Data Space.
It uses Verifiable Presentations (VPs) via OID4VP as the evidence format, binding consent to a specific action through a challenge-response mechanism.

Check notice on line 16 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L16

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 16, "column": 34}}}, "severity": "INFO"}

Check failure on line 16 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L16

[Vale.Spelling] Did you really mean 'VPs'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'VPs'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 16, "column": 35}}}, "severity": "ERROR"}
The protocol enables services to act on behalf of users (e.g., for example, submitting blockchain transactions or finalizing contracts) while providing independently verifiable proof that the user authorized the action.

Check notice on line 17 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L17

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 17, "column": 57}}}, "severity": "INFO"}

Check failure on line 17 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L17

[Google.Latin] Use 'for example' instead of 'e.g.'.
Raw output
{"message": "[Google.Latin] Use 'for example' instead of 'e.g.'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 17, "column": 58}}}, "severity": "ERROR"}

Check failure on line 17 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L17

[Vale.Spelling] Did you really mean 'blockchain'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'blockchain'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 17, "column": 88}}}, "severity": "ERROR"}

## Motivation

In the ENVITED-X Data Space, services frequently need to perform actions on behalf of users because users cannot directly perform these actions themselves with their SSI wallet.

Check notice on line 21 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L21

[Google.Contractions] Use 'can't' instead of 'cannot'.
Raw output
{"message": "[Google.Contractions] Use 'can't' instead of 'cannot'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 21, "column": 107}}}, "severity": "INFO"}

Check notice on line 21 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L21

[Google.Acronyms] Spell out 'SSI', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'SSI', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 21, "column": 167}}}, "severity": "INFO"}
A provider system may need to submit a blockchain transaction to list an asset, or issue a credential on behalf of a user.

Check failure on line 22 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L22

[Vale.Spelling] Did you really mean 'blockchain'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'blockchain'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 22, "column": 40}}}, "severity": "ERROR"}
In all cases, the service requires provable consent from the user before acting.

Traditional approaches require users to hold and manage blockchain-specific keys.
In a Verifiable Credential ecosystem, however, users already hold credentials in SSI wallets and authenticate via OpenID-based flows.

Check warning on line 26 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L26

[write-good.TooWordy] 'however' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'however' is too wordy.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 26, "column": 39}}}, "severity": "WARNING"}

Check notice on line 26 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L26

[Google.Acronyms] Spell out 'SSI', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'SSI', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 26, "column": 82}}}, "severity": "INFO"}
Requiring additional key management imposes unnecessary complexity and fragments the user experience.

Check warning on line 27 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L27

[write-good.TooWordy] 'additional' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'additional' is too wordy.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 27, "column": 11}}}, "severity": "WARNING"}

This specification addresses the delegation problem by reusing the OID4VP protocol that users already interact with.
Users provide consent with their existing SSI wallet — no blockchain key management is needed.

Check notice on line 30 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L30

[Google.Acronyms] Spell out 'SSI', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'SSI', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 30, "column": 43}}}, "severity": "INFO"}

Check failure on line 30 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L30

[Google.EmDash] Don't put a space before or after a dash.
Raw output
{"message": "[Google.EmDash] Don't put a space before or after a dash.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 30, "column": 53}}}, "severity": "ERROR"}

Check failure on line 30 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L30

[Vale.Spelling] Did you really mean 'blockchain'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'blockchain'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 30, "column": 59}}}, "severity": "ERROR"}

Check warning on line 30 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L30

[write-good.Passive] 'is needed' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is needed' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 30, "column": 85}}}, "severity": "WARNING"}

Check notice on line 30 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L30

[Google.Passive] In general, use active voice instead of passive voice ('is needed').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is needed').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 30, "column": 85}}}, "severity": "INFO"}

Check notice on line 30 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L30

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 30, "column": 85}}}, "severity": "INFO"}
The resulting evidence is a cryptographic artifact that:

Check notice on line 31 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L31

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 31, "column": 24}}}, "severity": "INFO"}

- **Binds consent to a specific action** through a deterministic challenge derived from the message describing the action.
- **Is independently verifiable** by any party with access to the evidence, without requiring contact with the original Requester.

Check notice on line 34 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L34

[write-good.E-Prime] Try to avoid using 'Is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'Is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 34, "column": 5}}}, "severity": "INFO"}
- **Serves as a tamper-proof audit trail** that can be stored and verified at any later point.

Check warning on line 35 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L35

[write-good.Passive] 'be stored' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'be stored' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 35, "column": 53}}}, "severity": "WARNING"}

Check notice on line 35 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L35

[Google.Passive] In general, use active voice instead of passive voice ('be stored').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('be stored').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 35, "column": 53}}}, "severity": "INFO"}

Check notice on line 35 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L35

[write-good.E-Prime] Try to avoid using 'be'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'be'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 35, "column": 53}}}, "severity": "INFO"}
- **Supports privacy-preserving disclosure** when SD-JWT VCs are used, allowing Holders to present only the claims required.

Check notice on line 36 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L36

[Google.Acronyms] Spell out 'JWT', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'JWT', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 36, "column": 54}}}, "severity": "INFO"}

Check failure on line 36 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L36

[Vale.Spelling] Did you really mean 'VCs'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'VCs'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 36, "column": 58}}}, "severity": "ERROR"}

Check warning on line 36 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L36

[write-good.Passive] 'are used' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'are used' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 36, "column": 62}}}, "severity": "WARNING"}

Check notice on line 36 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L36

[Google.Passive] In general, use active voice instead of passive voice ('are used').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('are used').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 36, "column": 62}}}, "severity": "INFO"}

Check notice on line 36 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L36

[write-good.E-Prime] Try to avoid using 'are'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'are'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 36, "column": 62}}}, "severity": "INFO"}

The protocol is designed to be reusable across ENVITED-X processes.

Check notice on line 38 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L38

[Google.Passive] In general, use active voice instead of passive voice ('is designed').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is designed').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 38, "column": 14}}}, "severity": "INFO"}

Check notice on line 38 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L38

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 38, "column": 14}}}, "severity": "INFO"}

Check warning on line 38 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L38

[write-good.Passive] 'is designed' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is designed' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 38, "column": 14}}}, "severity": "WARNING"}

Check notice on line 38 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L38

[write-good.E-Prime] Try to avoid using 'be'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'be'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 38, "column": 29}}}, "severity": "INFO"}

## Specification

### 1. Evidence

Evidence is cryptographic proof that a specific user consented to a specific action.

Check notice on line 44 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L44

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 44, "column": 10}}}, "severity": "INFO"}
At minimum, evidence consists of the following components:

Check warning on line 45 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L45

[write-good.TooWordy] 'minimum' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'minimum' is too wordy.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 45, "column": 4}}}, "severity": "WARNING"}

- A **message** describing the action the user is consenting to.

Check notice on line 47 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L47

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 47, "column": 48}}}, "severity": "INFO"}
- A **challenge** deterministically derived from that message via cryptographic hash function.
- A **signature object** proving the user saw and approved the message identified by the challenge.

The challenge binds the signature object to the message.
Any modification to the message produces a different challenge, invalidating existing signature objects.
This ensures that consent cannot be transferred from one action to another.

Check notice on line 53 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L53

[Google.Contractions] Use 'can't' instead of 'cannot'.
Raw output
{"message": "[Google.Contractions] Use 'can't' instead of 'cannot'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 53, "column": 27}}}, "severity": "INFO"}

Check notice on line 53 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L53

[Google.Passive] In general, use active voice instead of passive voice ('be transferred').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('be transferred').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 53, "column": 34}}}, "severity": "INFO"}

Check notice on line 53 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L53

[write-good.E-Prime] Try to avoid using 'be'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'be'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 53, "column": 34}}}, "severity": "INFO"}

Check warning on line 53 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L53

[write-good.Passive] 'be transferred' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'be transferred' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 53, "column": 34}}}, "severity": "WARNING"}

Three roles are involved in the evidence lifecycle:

Check warning on line 55 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L55

[write-good.Passive] 'are involved' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'are involved' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 55, "column": 13}}}, "severity": "WARNING"}

Check notice on line 55 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L55

[write-good.E-Prime] Try to avoid using 'are'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'are'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 55, "column": 13}}}, "severity": "INFO"}

Check notice on line 55 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L55

[Google.Passive] In general, use active voice instead of passive voice ('are involved').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('are involved').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 55, "column": 13}}}, "severity": "INFO"}

- **Requester**: The service that needs evidence of user consent for a specific action (e.g., to execute a blockchain transaction on the user's behalf). The Requester initiates the evidence request.

Check notice on line 57 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L57

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 57, "column": 88}}}, "severity": "INFO"}

Check failure on line 57 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L57

[Google.Latin] Use 'for example' instead of 'e.g.'.
Raw output
{"message": "[Google.Latin] Use 'for example' instead of 'e.g.'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 57, "column": 89}}}, "severity": "ERROR"}

Check failure on line 57 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L57

[Vale.Spelling] Did you really mean 'blockchain'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'blockchain'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 57, "column": 108}}}, "severity": "ERROR"}
- **Holder**: The user whose consent is captured. The Holder reviews the action and approves or rejects the request.

Check notice on line 58 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L58

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 58, "column": 38}}}, "severity": "INFO"}

Check warning on line 58 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L58

[write-good.Passive] 'is captured' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is captured' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 58, "column": 38}}}, "severity": "WARNING"}

Check notice on line 58 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L58

[Google.Passive] In general, use active voice instead of passive voice ('is captured').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is captured').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 58, "column": 38}}}, "severity": "INFO"}
- **Verifier**: Any party that checks whether a piece of evidence is valid.

Check notice on line 59 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L59

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 59, "column": 67}}}, "severity": "INFO"}

The Requester and Verifier MAY be the same party or different parties.

Check notice on line 61 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L61

[Google.Acronyms] Spell out 'MAY', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'MAY', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 61, "column": 28}}}, "severity": "INFO"}

Check notice on line 61 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L61

[write-good.E-Prime] Try to avoid using 'be'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'be'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 61, "column": 32}}}, "severity": "INFO"}

The message format is not prescribed by this specification.

Check notice on line 63 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L63

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 63, "column": 20}}}, "severity": "INFO"}

Check notice on line 63 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L63

[Google.Contractions] Use 'isn't' instead of 'is not'.
Raw output
{"message": "[Google.Contractions] Use 'isn't' instead of 'is not'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 63, "column": 20}}}, "severity": "INFO"}
Implementations SHOULD include at minimum:

Check warning on line 64 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L64

[write-good.TooWordy] 'minimum' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'minimum' is too wordy.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 64, "column": 35}}}, "severity": "WARNING"}

- A human-readable description of the action
- A domain or origin identifying the Requester
- A unique nonce ensuring the message is not reused

Check notice on line 68 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L68

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 68, "column": 39}}}, "severity": "INFO"}

Check notice on line 68 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L68

[Google.Contractions] Use 'isn't' instead of 'is not'.
Raw output
{"message": "[Google.Contractions] Use 'isn't' instead of 'is not'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 68, "column": 39}}}, "severity": "INFO"}
- A timestamp indicating when the message was created

Check notice on line 69 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L69

[write-good.E-Prime] Try to avoid using 'was'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'was'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 69, "column": 43}}}, "severity": "INFO"}

Check notice on line 69 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L69

[Google.Passive] In general, use active voice instead of passive voice ('was created').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('was created').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 69, "column": 43}}}, "severity": "INFO"}

Check warning on line 69 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L69

[write-good.Passive] 'was created' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'was created' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 69, "column": 43}}}, "severity": "WARNING"}

[EIP-4361 (Sign-In with Ethereum)](https://eips.ethereum.org/EIPS/eip-4361) provides inspiration for structured message formats that include these elements.

Check notice on line 71 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L71

[Google.Acronyms] Spell out 'EIP', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'EIP', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 71, "column": 2}}}, "severity": "INFO"}

Check notice on line 71 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L71

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 71, "column": 11}}}, "severity": "INFO"}

Check failure on line 71 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L71

[Vale.Spelling] Did you really mean 'Ethereum'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'Ethereum'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 71, "column": 25}}}, "severity": "ERROR"}

Future EVES MAY define additional evidence types with different signature objects and challenge derivation mechanisms.

Check notice on line 73 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L73

[Google.Acronyms] Spell out 'EVES', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'EVES', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 73, "column": 8}}}, "severity": "INFO"}

Check notice on line 73 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L73

[Google.Acronyms] Spell out 'MAY', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'MAY', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 73, "column": 13}}}, "severity": "INFO"}

Check warning on line 73 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L73

[write-good.TooWordy] 'additional' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'additional' is too wordy.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 73, "column": 24}}}, "severity": "WARNING"}

### 2. VP-Based Evidence

Check warning on line 75 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L75

[Google.Headings] '2. VP-Based Evidence' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] '2. VP-Based Evidence' should use sentence-style capitalization.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 75, "column": 5}}}, "severity": "WARNING"}

This specification defines the first concrete evidence type using Verifiable Presentations:

- The **challenge** is the cryptographic hash of the serialized message (e.g., `SHA-256(serialize(message))`).

Check notice on line 79 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L79

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 79, "column": 1}}}, "severity": "INFO"}

Check notice on line 79 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L79

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 79, "column": 21}}}, "severity": "INFO"}

Check failure on line 79 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L79

[Google.Latin] Use 'for example' instead of 'e.g.'.
Raw output
{"message": "[Google.Latin] Use 'for example' instead of 'e.g.'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 79, "column": 74}}}, "severity": "ERROR"}
- The **signature object** is a Verifiable Presentation (VP) where the challenge is embedded in the VP's `nonce` or challenge field.

Check notice on line 80 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L80

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 80, "column": 28}}}, "severity": "INFO"}

Check notice on line 80 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L80

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 80, "column": 57}}}, "severity": "INFO"}

Check notice on line 80 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L80

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 80, "column": 82}}}, "severity": "INFO"}

Check warning on line 80 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L80

[write-good.Passive] 'is embedded' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is embedded' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 80, "column": 82}}}, "severity": "WARNING"}

Check notice on line 80 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L80

[Google.Passive] In general, use active voice instead of passive voice ('is embedded').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is embedded').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 80, "column": 82}}}, "severity": "INFO"}

Check failure on line 80 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L80

[Vale.Spelling] Did you really mean 'VP's'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'VP's'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 80, "column": 101}}}, "severity": "ERROR"}
- The VP contains one or more Verifiable Credentials (VCs) proving the Holder's identity and attributes.

Check notice on line 81 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L81

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 81, "column": 54}}}, "severity": "INFO"}

Check failure on line 81 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L81

[Vale.Spelling] Did you really mean 'VCs'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'VCs'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 81, "column": 55}}}, "severity": "ERROR"}

The VC format is not prescribed.

Check notice on line 83 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L83

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 83, "column": 15}}}, "severity": "INFO"}

Check notice on line 83 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L83

[Google.Contractions] Use 'isn't' instead of 'is not'.
Raw output
{"message": "[Google.Contractions] Use 'isn't' instead of 'is not'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 83, "column": 15}}}, "severity": "INFO"}
SD-JWT VCs (see [SD-JWT-based Verifiable Credentials](https://www.ietf.org/archive/id/draft-ietf-oauth-sd-jwt-vc-00.html)) are RECOMMENDED because selective disclosure allows Holders to redact unnecessary claims, minimizing personal data contained in the evidence.

Check notice on line 84 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L84

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 84, "column": 3}}}, "severity": "INFO"}

Check notice on line 84 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L84

[Google.Acronyms] Spell out 'JWT', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'JWT', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 84, "column": 4}}}, "severity": "INFO"}

Check failure on line 84 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L84

[Vale.Spelling] Did you really mean 'VCs'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'VCs'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 84, "column": 8}}}, "severity": "ERROR"}

Check notice on line 84 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L84

[Google.Acronyms] Spell out 'JWT', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'JWT', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 84, "column": 21}}}, "severity": "INFO"}

Check notice on line 84 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L84

[Google.Passive] In general, use active voice instead of passive voice ('are RECOMMENDED').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('are RECOMMENDED').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 84, "column": 124}}}, "severity": "INFO"}

Check notice on line 84 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L84

[write-good.E-Prime] Try to avoid using 'are'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'are'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 84, "column": 124}}}, "severity": "INFO"}

Check warning on line 84 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L84

[write-good.Passive] 'are RECOMMENDED' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'are RECOMMENDED' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 84, "column": 124}}}, "severity": "WARNING"}
Other VC formats conforming to the [W3C Verifiable Credentials Data Model](https://www.w3.org/TR/vc-data-model/) are also valid.

Check notice on line 85 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L85

[write-good.E-Prime] Try to avoid using 'are'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'are'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 85, "column": 114}}}, "severity": "INFO"}

All VP formats include a challenge field (commonly `nonce`) that can carry the message hash.

Check notice on line 87 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L87

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 87, "column": 3}}}, "severity": "INFO"}
This is the binding mechanism that ties the VP to the specific action.

Check notice on line 88 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L88

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 88, "column": 6}}}, "severity": "INFO"}

A key advantage of VP-based evidence is that the VP can include VCs carrying authorization-related data.

Check notice on line 90 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L90

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 90, "column": 38}}}, "severity": "INFO"}

Check failure on line 90 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L90

[Vale.Spelling] Did you really mean 'VCs'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'VCs'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 90, "column": 65}}}, "severity": "ERROR"}
For example, a VC might prove that the Holder's key is affiliated with a specific organization, or that the Holder holds a particular role.

Check notice on line 91 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L91

[Google.Passive] In general, use active voice instead of passive voice ('is affiliated').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is affiliated').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 91, "column": 53}}}, "severity": "INFO"}

Check warning on line 91 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L91

[write-good.Passive] 'is affiliated' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is affiliated' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 91, "column": 53}}}, "severity": "WARNING"}

Check notice on line 91 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L91

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 91, "column": 53}}}, "severity": "INFO"}
This means evidence does not just prove consent — it proves _authorized_ consent.

Check notice on line 92 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L92

[Google.Contractions] Use 'doesn't' instead of 'does not'.
Raw output
{"message": "[Google.Contractions] Use 'doesn't' instead of 'does not'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 92, "column": 21}}}, "severity": "INFO"}

Check failure on line 92 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L92

[Google.EmDash] Don't put a space before or after a dash.
Raw output
{"message": "[Google.EmDash] Don't put a space before or after a dash.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 92, "column": 48}}}, "severity": "ERROR"}
The Requester communicates what VCs are needed as part of the standard OID4VP flow.

Check failure on line 93 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L93

[Vale.Spelling] Did you really mean 'VCs'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'VCs'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 93, "column": 33}}}, "severity": "ERROR"}

Check notice on line 93 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L93

[write-good.E-Prime] Try to avoid using 'are'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'are'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 93, "column": 37}}}, "severity": "INFO"}

Check notice on line 93 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L93

[Google.Passive] In general, use active voice instead of passive voice ('are needed').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('are needed').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 93, "column": 37}}}, "severity": "INFO"}

Check warning on line 93 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L93

[write-good.Passive] 'are needed' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'are needed' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 93, "column": 37}}}, "severity": "WARNING"}

### 3. Evidence Creation Flow

Check warning on line 95 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L95

[Google.Headings] '3. Evidence Creation Flow' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] '3. Evidence Creation Flow' should use sentence-style capitalization.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 95, "column": 5}}}, "severity": "WARNING"}

#### 3.1 Abstract Flow

Check warning on line 97 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L97

[Google.Headings] '3.1 Abstract Flow' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] '3.1 Abstract Flow' should use sentence-style capitalization.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 97, "column": 6}}}, "severity": "WARNING"}

1. The Requester constructs a **message** describing the action and a **policy** specifying acceptable credentials.
2. A **challenge** is derived from the message.

Check notice on line 100 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L100

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 100, "column": 20}}}, "severity": "INFO"}

Check warning on line 100 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L100

[write-good.Passive] 'is derived' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is derived' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 100, "column": 20}}}, "severity": "WARNING"}

Check notice on line 100 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L100

[Google.Passive] In general, use active voice instead of passive voice ('is derived').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is derived').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 100, "column": 20}}}, "severity": "INFO"}
3. The challenge and policy are presented to the Holder.

Check notice on line 101 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L101

[write-good.E-Prime] Try to avoid using 'are'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'are'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 101, "column": 29}}}, "severity": "INFO"}

Check warning on line 101 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L101

[write-good.Passive] 'are presented' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'are presented' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 101, "column": 29}}}, "severity": "WARNING"}

Check notice on line 101 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L101

[Google.Passive] In general, use active voice instead of passive voice ('are presented').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('are presented').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 101, "column": 29}}}, "severity": "INFO"}
4. The Holder reviews the action and decides to approve or reject.
5. If approved, the Holder produces a **signature object** bound to the challenge.
6. The signature object is returned to the Requester, completing the evidence.

Check warning on line 104 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L104

[write-good.Passive] 'is returned' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is returned' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 104, "column": 25}}}, "severity": "WARNING"}

Check notice on line 104 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L104

[Google.Passive] In general, use active voice instead of passive voice ('is returned').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is returned').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 104, "column": 25}}}, "severity": "INFO"}

Check notice on line 104 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L104

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 104, "column": 25}}}, "severity": "INFO"}

#### 3.2 VP-Based Flow Using OID4VP

Check warning on line 106 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L106

[Google.Headings] '3.2 VP-Based Flow Using OID4VP' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] '3.2 VP-Based Flow Using OID4VP' should use sentence-style capitalization.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 106, "column": 6}}}, "severity": "WARNING"}

The following sequence describes the VP-based evidence creation flow using [OpenID for Verifiable Presentations (OID4VP)](https://openid.net/specs/openid-4-verifiable-presentations-1_0.html):

Check notice on line 108 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L108

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 108, "column": 113}}}, "severity": "INFO"}

1. The Requester displays a **message**, the **challenge** derived form it, and a way to verify this challenge. He also provides an OID4VP Authorization Request. Usually via QR-Code.

Check warning on line 110 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L110

[write-good.Weasel] 'Usually' is a weasel word!
Raw output
{"message": "[write-good.Weasel] 'Usually' is a weasel word!", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 110, "column": 163}}}, "severity": "WARNING"}
2. The Holder ingests the request and his wallet downloads the request object containing the **challenge** and requested VCs.

Check failure on line 111 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L111

[Vale.Spelling] Did you really mean 'VCs'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'VCs'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 111, "column": 122}}}, "severity": "ERROR"}
3. The Holder selects matching VCs, reviews the challenge, and provides consent.

Check failure on line 112 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L112

[Vale.Spelling] Did you really mean 'VCs'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'VCs'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 112, "column": 32}}}, "severity": "ERROR"}
4. The wallet creates a VP with the challenge as the `nonce` and submits it via `direct_post` to the Requester.
5. The VP is stored as evidence by the requester and may be used to trigger further actions.

Check notice on line 114 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L114

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 114, "column": 11}}}, "severity": "INFO"}

Check notice on line 114 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L114

[Google.Passive] In general, use active voice instead of passive voice ('is stored').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is stored').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 114, "column": 11}}}, "severity": "INFO"}

Check warning on line 114 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L114

[write-good.Passive] 'is stored' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is stored' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 114, "column": 11}}}, "severity": "WARNING"}

Check notice on line 114 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L114

[write-good.E-Prime] Try to avoid using 'be'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'be'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 114, "column": 58}}}, "severity": "INFO"}

Check warning on line 114 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L114

[write-good.Passive] 'be used' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'be used' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 114, "column": 58}}}, "severity": "WARNING"}

Check notice on line 114 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L114

[Google.Passive] In general, use active voice instead of passive voice ('be used').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('be used').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 114, "column": 58}}}, "severity": "INFO"}

```mermaid
sequenceDiagram
participant R as Requester
participant H as Holder (Wallet)

R->>R: Construct message + policy
R->>R: challenge = hash(message)
R->>H: OID4VP request (nonce=challenge, credentail request)
H->>H: Select VCs, review action
H->>H: Create VP (nonce=challenge)
H->>R: POST vp_token (direct_post)
R->>R: Verify & store evidence
```

### 4. Evidence Verification

Check warning on line 130 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L130

[Google.Headings] '4. Evidence Verification' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] '4. Evidence Verification' should use sentence-style capitalization.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 130, "column": 5}}}, "severity": "WARNING"}

#### 4.1 Abstract Verification

Check warning on line 132 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L132

[Google.Headings] '4.1 Abstract Verification' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] '4.1 Abstract Verification' should use sentence-style capitalization.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 132, "column": 6}}}, "severity": "WARNING"}

A Verifier MUST confirm the following for evidence to be considered valid:

Check notice on line 134 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L134

[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 134, "column": 12}}}, "severity": "INFO"}

Check notice on line 134 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L134

[write-good.E-Prime] Try to avoid using 'be'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'be'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 134, "column": 55}}}, "severity": "INFO"}

Check warning on line 134 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L134

[write-good.Passive] 'be considered' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'be considered' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 134, "column": 55}}}, "severity": "WARNING"}

Check notice on line 134 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L134

[Google.Passive] In general, use active voice instead of passive voice ('be considered').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('be considered').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 134, "column": 55}}}, "severity": "INFO"}

1. The **signature object** was produced by the claimed Holder.

Check notice on line 136 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L136

[write-good.E-Prime] Try to avoid using 'was'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'was'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 136, "column": 29}}}, "severity": "INFO"}

Check warning on line 136 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L136

[write-good.Passive] 'was produced' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'was produced' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 136, "column": 29}}}, "severity": "WARNING"}

Check notice on line 136 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L136

[Google.Passive] In general, use active voice instead of passive voice ('was produced').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('was produced').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 136, "column": 29}}}, "severity": "INFO"}
2. The **signature object** is bound to the claimed message via the challenge.

Check notice on line 137 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L137

[Google.Passive] In general, use active voice instead of passive voice ('is bound').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is bound').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 137, "column": 29}}}, "severity": "INFO"}

Check notice on line 137 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L137

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 137, "column": 29}}}, "severity": "INFO"}

Check warning on line 137 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L137

[write-good.Passive] 'is bound' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is bound' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 137, "column": 29}}}, "severity": "WARNING"}
3. The **credential requirements** specified in the policy are met.

Check notice on line 138 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L138

[write-good.E-Prime] Try to avoid using 'are'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'are'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 138, "column": 60}}}, "severity": "INFO"}

Check warning on line 138 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L138

[write-good.Passive] 'are met' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'are met' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 138, "column": 60}}}, "severity": "WARNING"}

Check notice on line 138 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L138

[Google.Passive] In general, use active voice instead of passive voice ('are met').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('are met').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 138, "column": 60}}}, "severity": "INFO"}

If any of these checks fail, the evidence MUST be considered invalid.

Check notice on line 140 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L140

[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 140, "column": 43}}}, "severity": "INFO"}

Check warning on line 140 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L140

[write-good.Passive] 'be considered' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'be considered' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 140, "column": 48}}}, "severity": "WARNING"}

Check notice on line 140 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L140

[Google.Passive] In general, use active voice instead of passive voice ('be considered').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('be considered').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 140, "column": 48}}}, "severity": "INFO"}

Check notice on line 140 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L140

[write-good.E-Prime] Try to avoid using 'be'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'be'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 140, "column": 48}}}, "severity": "INFO"}

#### 4.2 VP-Based Verification

Check warning on line 142 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L142

[Google.Headings] '4.2 VP-Based Verification' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] '4.2 VP-Based Verification' should use sentence-style capitalization.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 142, "column": 6}}}, "severity": "WARNING"}

For VP-based evidence, the Verifier MUST perform the following checks:

Check notice on line 144 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L144

[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 144, "column": 37}}}, "severity": "INFO"}

1. **VP signature verification**: The VP signature is verified against the Holder's DID (see [W3C Decentralized Identifiers](https://www.w3.org/TR/did-core/)).

Check notice on line 146 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L146

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 146, "column": 1}}}, "severity": "INFO"}

Check notice on line 146 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L146

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 146, "column": 52}}}, "severity": "INFO"}

Check warning on line 146 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L146

[write-good.Passive] 'is verified' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is verified' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 146, "column": 52}}}, "severity": "WARNING"}

Check notice on line 146 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L146

[Google.Passive] In general, use active voice instead of passive voice ('is verified').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is verified').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 146, "column": 52}}}, "severity": "INFO"}

Check notice on line 146 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L146

[Google.Acronyms] Spell out 'DID', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'DID', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 146, "column": 85}}}, "severity": "INFO"}
2. **Credential verification**: Each VC inside the VP is independently verified, including issuer signature validation and format-specific integrity checks.

Check notice on line 147 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L147

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 147, "column": 55}}}, "severity": "INFO"}
3. **VC requirement check**: The VCs in the VP satisfy the requirements that the Requester specified in the OID4VP request.

Check warning on line 148 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L148

[write-good.TooWordy] 'requirement' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'requirement' is too wordy.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 148, "column": 9}}}, "severity": "WARNING"}

Check failure on line 148 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L148

[Vale.Spelling] Did you really mean 'VCs'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'VCs'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 148, "column": 34}}}, "severity": "ERROR"}

Check warning on line 148 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L148

[write-good.TooWordy] 'satisfy' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'satisfy' is too wordy.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 148, "column": 48}}}, "severity": "WARNING"}
4. **Challenge binding**: The VP's `nonce` MUST equal `hash(message)`. This binds the evidence to the specific action.

Check failure on line 149 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L149

[Vale.Spelling] Did you really mean 'VP's'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'VP's'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 149, "column": 31}}}, "severity": "ERROR"}

Check notice on line 149 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L149

[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 149, "column": 44}}}, "severity": "INFO"}
5. **Holder verification** (OPTIONAL): If a specific Holder was expected, the VP subject MUST match the expected Holder's identifier.

Check notice on line 150 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L150

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 150, "column": 28}}}, "severity": "INFO"}

Check warning on line 150 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L150

[write-good.Passive] 'was expected' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'was expected' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 150, "column": 61}}}, "severity": "WARNING"}

Check notice on line 150 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L150

[write-good.E-Prime] Try to avoid using 'was'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'was'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 150, "column": 61}}}, "severity": "INFO"}

Check notice on line 150 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L150

[Google.Passive] In general, use active voice instead of passive voice ('was expected').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('was expected').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 150, "column": 61}}}, "severity": "INFO"}

Check notice on line 150 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L150

[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 150, "column": 90}}}, "severity": "INFO"}

If any check fails, the evidence MUST be considered invalid.

Check notice on line 152 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L152

[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 152, "column": 34}}}, "severity": "INFO"}

Check notice on line 152 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L152

[Google.Passive] In general, use active voice instead of passive voice ('be considered').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('be considered').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 152, "column": 39}}}, "severity": "INFO"}

Check notice on line 152 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L152

[write-good.E-Prime] Try to avoid using 'be'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'be'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 152, "column": 39}}}, "severity": "INFO"}

Check warning on line 152 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L152

[write-good.Passive] 'be considered' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'be considered' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 152, "column": 39}}}, "severity": "WARNING"}

### 5. Security Considerations

Check warning on line 154 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L154

[Google.Headings] '5. Security Considerations' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] '5. Security Considerations' should use sentence-style capitalization.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 154, "column": 5}}}, "severity": "WARNING"}

- **Replay prevention**: Each message MUST include a unique nonce, ensuring that the derived challenge is unique per action. This prevents a signature object from being replayed for a different action with an identical message.

Check notice on line 156 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L156

[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 156, "column": 39}}}, "severity": "INFO"}

Check notice on line 156 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L156

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 156, "column": 104}}}, "severity": "INFO"}

Check warning on line 156 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L156

[write-good.Passive] 'being replayed' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'being replayed' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 156, "column": 164}}}, "severity": "WARNING"}

Check notice on line 156 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L156

[write-good.E-Prime] Try to avoid using 'being'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'being'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 156, "column": 164}}}, "severity": "INFO"}

Check notice on line 156 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L156

[Google.Passive] In general, use active voice instead of passive voice ('being replayed').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('being replayed').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 156, "column": 164}}}, "severity": "INFO"}
- **Message integrity**: The deterministic hash binding between message and challenge ensures that any modification to the message invalidates the evidence.
- **Time-bounding**: Implementations SHOULD set an expiration on evidence requests to prevent stale requests from being fulfilled after an unreasonable delay.

Check warning on line 158 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L158

[write-good.TooWordy] 'expiration' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'expiration' is too wordy.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 158, "column": 52}}}, "severity": "WARNING"}

Check notice on line 158 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L158

[Google.Passive] In general, use active voice instead of passive voice ('being fulfilled').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('being fulfilled').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 158, "column": 115}}}, "severity": "INFO"}

Check notice on line 158 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L158

[write-good.E-Prime] Try to avoid using 'being'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'being'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 158, "column": 115}}}, "severity": "INFO"}

Check warning on line 158 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L158

[write-good.Passive] 'being fulfilled' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'being fulfilled' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 158, "column": 115}}}, "severity": "WARNING"}
- **Holder binding**: The Requester MAY specify an expected Holder. If specified, the Verifier MUST check that the VP subject matches the expected Holder.

Check notice on line 159 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L159

[Google.Acronyms] Spell out 'MAY', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'MAY', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 159, "column": 37}}}, "severity": "INFO"}

Check notice on line 159 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L159

[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 159, "column": 96}}}, "severity": "INFO"}
- **Policy immutability**: The policy associated with an evidence request MUST NOT be modified after the request is created. Changing the policy after the Holder has consented would invalidate the relationship between what was requested and what was approved.

Check notice on line 160 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L160

[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 160, "column": 75}}}, "severity": "INFO"}

Check notice on line 160 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L160

[Google.Acronyms] Spell out 'NOT', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'NOT', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 160, "column": 80}}}, "severity": "INFO"}

Check notice on line 160 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L160

[Google.Passive] In general, use active voice instead of passive voice ('be modified').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('be modified').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 160, "column": 84}}}, "severity": "INFO"}

Check warning on line 160 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L160

[write-good.Passive] 'be modified' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'be modified' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 160, "column": 84}}}, "severity": "WARNING"}

Check notice on line 160 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L160

[write-good.E-Prime] Try to avoid using 'be'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'be'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 160, "column": 84}}}, "severity": "INFO"}

Check notice on line 160 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L160

[Google.Passive] In general, use active voice instead of passive voice ('is created').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is created').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 160, "column": 114}}}, "severity": "INFO"}

Check warning on line 160 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L160

[write-good.Passive] 'is created' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is created' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 160, "column": 114}}}, "severity": "WARNING"}

Check notice on line 160 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L160

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 160, "column": 114}}}, "severity": "INFO"}

Check notice on line 160 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L160

[Google.Passive] In general, use active voice instead of passive voice ('was requested').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('was requested').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 160, "column": 224}}}, "severity": "INFO"}

Check notice on line 160 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L160

[write-good.E-Prime] Try to avoid using 'was'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'was'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 160, "column": 224}}}, "severity": "INFO"}

Check warning on line 160 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L160

[write-good.Passive] 'was requested' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'was requested' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 160, "column": 224}}}, "severity": "WARNING"}

Check notice on line 160 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L160

[write-good.E-Prime] Try to avoid using 'was'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'was'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 160, "column": 247}}}, "severity": "INFO"}

Check notice on line 160 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L160

[Google.Passive] In general, use active voice instead of passive voice ('was approved').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('was approved').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 160, "column": 247}}}, "severity": "INFO"}

Check warning on line 160 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L160

[write-good.Passive] 'was approved' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'was approved' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 160, "column": 247}}}, "severity": "WARNING"}
- **Transport security**: OID4VP requests and responses MUST be transmitted over TLS. Implementations SHOULD use signed authorization requests to prevent tampering.

Check notice on line 161 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L161

[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 161, "column": 57}}}, "severity": "INFO"}

Check warning on line 161 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L161

[write-good.Passive] 'be transmitted' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'be transmitted' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 161, "column": 62}}}, "severity": "WARNING"}

Check notice on line 161 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L161

[Google.Passive] In general, use active voice instead of passive voice ('be transmitted').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('be transmitted').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 161, "column": 62}}}, "severity": "INFO"}

Check notice on line 161 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L161

[write-good.E-Prime] Try to avoid using 'be'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'be'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 161, "column": 62}}}, "severity": "INFO"}

Check notice on line 161 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L161

[Google.Acronyms] Spell out 'TLS', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'TLS', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 161, "column": 82}}}, "severity": "INFO"}
- **Credential freshness**: Verifiers SHOULD check the revocation status of presented VCs.

Check failure on line 162 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L162

[Vale.Spelling] Did you really mean 'VCs'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'VCs'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 162, "column": 87}}}, "severity": "ERROR"}

### 6. Privacy Considerations

Check warning on line 164 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L164

[Google.Headings] '6. Privacy Considerations' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] '6. Privacy Considerations' should use sentence-style capitalization.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 164, "column": 5}}}, "severity": "WARNING"}

- **Minimal disclosure**: Policies SHOULD request only the claims necessary for the specific action. Over-requesting claims exposes unnecessary personal data.
- **Selective disclosure with SD-JWT VCs**: When SD-JWT VCs are used, Holders present only the claims required by the policy. All other claims are redacted from the presentation. This is the RECOMMENDED approach for new implementations.

Check notice on line 167 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L167

[Google.Acronyms] Spell out 'JWT', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'JWT', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 167, "column": 34}}}, "severity": "INFO"}

Check failure on line 167 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L167

[Vale.Spelling] Did you really mean 'VCs'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'VCs'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 167, "column": 38}}}, "severity": "ERROR"}

Check notice on line 167 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L167

[Google.Acronyms] Spell out 'JWT', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'JWT', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 167, "column": 53}}}, "severity": "INFO"}

Check failure on line 167 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L167

[Vale.Spelling] Did you really mean 'VCs'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'VCs'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 167, "column": 57}}}, "severity": "ERROR"}

Check warning on line 167 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L167

[write-good.Passive] 'are used' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'are used' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 167, "column": 61}}}, "severity": "WARNING"}

Check notice on line 167 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L167

[write-good.E-Prime] Try to avoid using 'are'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'are'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 167, "column": 61}}}, "severity": "INFO"}

Check notice on line 167 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L167

[Google.Passive] In general, use active voice instead of passive voice ('are used').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('are used').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 167, "column": 61}}}, "severity": "INFO"}

Check notice on line 167 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L167

[Google.Passive] In general, use active voice instead of passive voice ('are redacted').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('are redacted').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 167, "column": 144}}}, "severity": "INFO"}

Check warning on line 167 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L167

[write-good.Passive] 'are redacted' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'are redacted' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 167, "column": 144}}}, "severity": "WARNING"}

Check notice on line 167 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L167

[write-good.E-Prime] Try to avoid using 'are'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'are'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 167, "column": 144}}}, "severity": "INFO"}

Check notice on line 167 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L167

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 167, "column": 185}}}, "severity": "INFO"}
- **Storage protection**: Stored evidence contains credential data and MUST be protected with appropriate access controls. Access to stored evidence SHOULD be limited to authorized parties on a need-to-know basis.

Check notice on line 168 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L168

[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'MUST', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 168, "column": 72}}}, "severity": "INFO"}

Check notice on line 168 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L168

[write-good.E-Prime] Try to avoid using 'be'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'be'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 168, "column": 77}}}, "severity": "INFO"}

Check notice on line 168 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L168

[Google.Passive] In general, use active voice instead of passive voice ('be protected').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('be protected').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 168, "column": 77}}}, "severity": "INFO"}

Check warning on line 168 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L168

[write-good.Passive] 'be protected' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'be protected' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 168, "column": 77}}}, "severity": "WARNING"}

Check notice on line 168 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L168

[write-good.E-Prime] Try to avoid using 'be'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'be'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 168, "column": 157}}}, "severity": "INFO"}

Check warning on line 168 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L168

[write-good.Passive] 'be limited' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'be limited' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 168, "column": 157}}}, "severity": "WARNING"}

Check notice on line 168 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L168

[Google.Passive] In general, use active voice instead of passive voice ('be limited').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('be limited').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 168, "column": 157}}}, "severity": "INFO"}

## Backwards Compatibility

Check warning on line 170 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L170

[Google.Headings] 'Backwards Compatibility' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] 'Backwards Compatibility' should use sentence-style capitalization.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 170, "column": 4}}}, "severity": "WARNING"}

This specification introduces a new protocol and does not modify any existing EVES.

Check notice on line 172 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L172

[Google.Contractions] Use 'doesn't' instead of 'does not'.
Raw output
{"message": "[Google.Contractions] Use 'doesn't' instead of 'does not'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 172, "column": 50}}}, "severity": "INFO"}

Check warning on line 172 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L172

[write-good.TooWordy] 'modify' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'modify' is too wordy.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 172, "column": 59}}}, "severity": "WARNING"}

Check notice on line 172 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L172

[Google.Acronyms] Spell out 'EVES', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'EVES', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 172, "column": 79}}}, "severity": "INFO"}
It is compatible with the existing VC, DID, and wallet infrastructure described in [EVES-002](../EVES-002/eves-002.md).

Check warning on line 173 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L173

[write-good.TooWordy] 'It is' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'It is' is too wordy.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 173, "column": 1}}}, "severity": "WARNING"}

Check notice on line 173 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L173

[Google.Contractions] Use 'it's' instead of 'It is'.
Raw output
{"message": "[Google.Contractions] Use 'it's' instead of 'It is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 173, "column": 1}}}, "severity": "INFO"}

Check notice on line 173 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L173

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 173, "column": 4}}}, "severity": "INFO"}

Check notice on line 173 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L173

[Google.Acronyms] Spell out 'DID', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'DID', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 173, "column": 40}}}, "severity": "INFO"}

Check notice on line 173 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L173

[Google.Acronyms] Spell out 'EVES', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'EVES', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 173, "column": 85}}}, "severity": "INFO"}

## References

1. **EVES-001**: [ENVITED-X Ecosystem Specification Process](../EVES-001/eves-001.md)

Check notice on line 177 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L177

[Google.Acronyms] Spell out 'EVES', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'EVES', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 177, "column": 6}}}, "severity": "INFO"}
2. **EVES-002**: [ENVITED-X Data Space Architecture Overview](../EVES-002/eves-002.md)

Check notice on line 178 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L178

[Google.Acronyms] Spell out 'EVES', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'EVES', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 178, "column": 6}}}, "severity": "INFO"}
3. **OpenID for Verifiable Presentations (OID4VP)**: [Specification](https://openid.net/specs/openid-4-verifiable-presentations-1_0.html)

Check notice on line 179 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L179

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 179, "column": 42}}}, "severity": "INFO"}
4. **W3C Verifiable Credentials Data Model**: [Specification](https://www.w3.org/TR/vc-data-model/)
5. **W3C Decentralized Identifiers (DIDs)**: [Specification](https://www.w3.org/TR/did-core/)

Check notice on line 181 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L181

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 181, "column": 36}}}, "severity": "INFO"}

Check failure on line 181 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L181

[Vale.Spelling] Did you really mean 'DIDs'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'DIDs'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 181, "column": 37}}}, "severity": "ERROR"}
6. **EIP-4361 (Sign-In with Ethereum / SIWE)**: [Specification](https://eips.ethereum.org/EIPS/eip-4361)

Check notice on line 182 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L182

[Google.Acronyms] Spell out 'EIP', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'EIP', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 182, "column": 6}}}, "severity": "INFO"}

Check notice on line 182 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L182

[Google.Parens] Use parentheses judiciously.
Raw output
{"message": "[Google.Parens] Use parentheses judiciously.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 182, "column": 15}}}, "severity": "INFO"}

Check failure on line 182 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L182

[Vale.Spelling] Did you really mean 'Ethereum'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'Ethereum'?", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 182, "column": 29}}}, "severity": "ERROR"}

Check notice on line 182 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L182

[Google.Acronyms] Spell out 'SIWE', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'SIWE', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 182, "column": 40}}}, "severity": "INFO"}
7. **RFC 2119**: [Key words for use in RFCs to Indicate Requirement Levels](https://www.rfc-editor.org/rfc/rfc2119)

Check notice on line 183 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L183

[Google.Acronyms] Spell out 'RFC', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'RFC', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 183, "column": 6}}}, "severity": "INFO"}

Check warning on line 183 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L183

[write-good.TooWordy] 'Indicate' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'Indicate' is too wordy.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 183, "column": 48}}}, "severity": "WARNING"}

Check warning on line 183 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L183

[write-good.TooWordy] 'Requirement' is too wordy.
Raw output
{"message": "[write-good.TooWordy] 'Requirement' is too wordy.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 183, "column": 57}}}, "severity": "WARNING"}
8. **SD-JWT-based Verifiable Credentials**: [Specification](https://www.ietf.org/archive/id/draft-ietf-oauth-sd-jwt-vc-00.html)

Check notice on line 184 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L184

[Google.Acronyms] Spell out 'JWT', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'JWT', if it's unfamiliar to the audience.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 184, "column": 9}}}, "severity": "INFO"}

## Implementation

An initial implementation is planned for the [ENVITED-X Data Space](https://staging.envited-x.net).

Check notice on line 188 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L188

[write-good.E-Prime] Try to avoid using 'is'.
Raw output
{"message": "[write-good.E-Prime] Try to avoid using 'is'.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 188, "column": 27}}}, "severity": "INFO"}

Check warning on line 188 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L188

[write-good.Passive] 'is planned' may be passive voice. Use active voice if you can.
Raw output
{"message": "[write-good.Passive] 'is planned' may be passive voice. Use active voice if you can.", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 188, "column": 27}}}, "severity": "WARNING"}

Check notice on line 188 in EVES/EVES-009/eves-009.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/EVES-009/eves-009.md#L188

[Google.Passive] In general, use active voice instead of passive voice ('is planned').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is planned').", "location": {"path": "EVES/EVES-009/eves-009.md", "range": {"start": {"line": 188, "column": 27}}}, "severity": "INFO"}
1 change: 1 addition & 0 deletions EVES/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@
* [EVES-005: ENVITED-X Contract Negotiation Process](./EVES-005/eves-005.md)
* [EVES-006: ENVITED-X Scaling Architecture](./EVES-006/eves-006.md)
* [EVES-007: ENVITED-X Blockchain Identifier URN Schema](./EVES-007/eves-007.md)
* [EVES-009: ENVITED-X Evidence-Based Consent Using Verifiable Presentations](./EVES-009/eves-009.md)

Check notice on line 16 in EVES/SUMMARY.md

View workflow job for this annotation

GitHub Actions / vale

[vale] EVES/SUMMARY.md#L16

[Google.Acronyms] Spell out 'EVES', if it's unfamiliar to the audience.
Raw output
{"message": "[Google.Acronyms] Spell out 'EVES', if it's unfamiliar to the audience.", "location": {"path": "EVES/SUMMARY.md", "range": {"start": {"line": 16, "column": 4}}}, "severity": "INFO"}
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@
| [005](./EVES/EVES-005/eves-005.md) | ENVITED-X Contract Negotiation Process | Process | Review |
| [006](./EVES/EVES-006/eves-006.md) | ENVITED-X Scaling Architecture | Process | Draft |
| [007](./EVES/EVES-007/eves-007.md) | ENVITED-X Blockchain Identifier URN Schema | Standards | Draft |
| [009](./EVES/EVES-009/eves-009.md) | ENVITED-X Evidence-Based Consent Using Verifiable Presentations | Standards | Draft |

Check failure on line 22 in README.md

View workflow job for this annotation

GitHub Actions / Markdown Linter

MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]

Check failure on line 22 in README.md

View workflow job for this annotation

GitHub Actions / Markdown Linter

MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]

Check failure on line 22 in README.md

View workflow job for this annotation

GitHub Actions / Markdown Linter

MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
Loading