Draft 0.1.0-beta.4, not released    

Format
======

The open format: the schemas, the test vectors, and the implementations checked against them.

01

Format
------

3 sections

Schemas
-------

The open format of [core section 11](https://vcrs.org/draft/core#11), in JSON Schema 2020-12. Each schema answers at the address its $id names.

- [The facts export](https://vcrs.org/schema/0.1.0-beta.4/export.schema.json): A claimant register in the open format of VCRS 0.1.0-beta.4, section 11.1: the facts that set each record's grade, without the personal data behind them.
- [One record](https://vcrs.org/schema/0.1.0-beta.4/record.schema.json): One person's entry in a facts export: the facts that set its grade (VCRS 0.1.0-beta.4, section 4), without the personal data behind them.
- [The conformance statement](https://vcrs.org/schema/0.1.0-beta.4/conformance.schema.json): The one-page statement a representative publishes when it claims a level (VCRS 0.1.0-beta.4, section 11.2). No personal data.

An implementation builds in this order: a record's canonical form under RFC 8785 and its SHA-256 digest ([core 11.3](https://vcrs.org/draft/core#11.3)), the snapshot root over every record's line, its identifier and its digest, as the Merkle Tree Hash of RFC 9162 ([core 5.4](https://vcrs.org/draft/core#5.4)), then each record's grade, checked against the [test vectors](#test-vectors) below.

Test vectors
------------

Each vector is one record with the flows, the annex and the dates it is graded under, and the grade it must get ([core 11.4](https://vcrs.org/draft/core#11.4)). The reasons say why it holds that grade, in the codes of [core 11.5](https://vcrs.org/draft/core#11.5). Each description opens the vector's file.

### Annex AT: Austria (Verbandsklage auf Abhilfe)

| Record | Grade | Reasons |
|---|---|---|
| [Named in the claim the qualified entity filed, with the declaration on parallel actions (§ 624(1), § 628(2) ZPO)](https://vcrs.org/draft/vectors/at/c-joined-through-the-qe.json) | C | declared\_only |
| [Joined through the qualified entity with the declaration; residence not held, which decides nothing where everyone opts in](https://vcrs.org/draft/vectors/at/c-residence-not-held.json) | C | declared\_only |
| [The qualified entity refused the consumer's request to join, so no Beitritt was filed (§ 628(1) ZPO)](https://vcrs.org/draft/vectors/at/d-beitritt-refused.json) | D | not\_active, not\_opted\_in, no\_parallel\_declaration |
| [Beitritt filed without the declaration that the claim is pursued nowhere else (§ 628(2) ZPO)](https://vcrs.org/draft/vectors/at/d-no-parallel-declaration.json) | D | no\_parallel\_declaration |
| [Signed up with the qualified entity and declared, but no claim or Beitritt was filed for them (§ 628(1) ZPO)](https://vcrs.org/draft/vectors/at/d-not-filed.json) | D | not\_opted\_in |

### Annex BE: Belgium (action en réparation collective)

| Record | Grade | Reasons |
|---|---|---|
| [Resident in France, no option yet, before any judgment or agreement set a window: counts as support](https://vcrs.org/draft/vectors/be/c-abroad-before-window.json) | C | declared\_only |
| [Resident in France, opted in at the greffe within the four months after the merits judgment (art. XVII.55/1 CDE), no declaration on parallel actions asked](https://vcrs.org/draft/vectors/be/c-abroad-opted-in.json) | C | declared\_only |
| [Resident in France, no option yet, while the four months after the merits judgment run: counts as support](https://vcrs.org/draft/vectors/be/c-abroad-window-open.json) | C | declared\_only |
| [Resident in Belgium, no option at the greffe, in an action that binds residents unless they opt out (opt\_in\_residents false): counted](https://vcrs.org/draft/vectors/be/c-resident-opt-out.json) | C | declared\_only |
| [Resident in Belgium, option lodged at the greffe within the window, where residents opt in (art. XVII.55/1 §1 CDE)](https://vcrs.org/draft/vectors/be/c-resident-opted-in.json) | C | declared\_only |
| [Resident in France, no option at the greffe by the close of the four months after the merits judgment (art. XVII.55/1 CDE): not a member](https://vcrs.org/draft/vectors/be/d-abroad-not-opted-in.json) | D | not\_opted\_in |
| [Resident in France, wrote to the greffe before the merits judgment was published, so before the four months began (art. XVII.55/1 CDE): not a member](https://vcrs.org/draft/vectors/be/d-abroad-opted-in-early.json) | D | not\_opted\_in |
| [Resident in France, opted in at the greffe after the four months closed (art. XVII.55/1 CDE): not a member](https://vcrs.org/draft/vectors/be/d-abroad-opted-in-late.json) | D | not\_opted\_in |
| [Resident in France, signed up with the representative within the four months but lodged nothing at the greffe (art. XVII.55/1 CDE): not a member](https://vcrs.org/draft/vectors/be/d-abroad-opted-in-to-representative.json) | D | not\_opted\_in |
| [No residence held, so the record can't show whether the person must opt in (art. XVII.45 §3, 7° CDE)](https://vcrs.org/draft/vectors/be/d-residence-unknown.json) | D | residence\_unknown |
| [Resident in Belgium, no option at the greffe after the window closed, in an export that leaves unstated whether residents opt in: read as opting in (core 4.6)](https://vcrs.org/draft/vectors/be/d-resident-choice-unstated.json) | D | not\_opted\_in |
| [Resident in Belgium, no option at the greffe after the window closed, where residents opt in, as after a merits judgment in an action introduced from 10 June 2024 (art. XVII.55/1 §1 CDE)](https://vcrs.org/draft/vectors/be/d-resident-not-opted-in.json) | D | not\_opted\_in |
| [An SME with its principal establishment in Luxembourg, no option at the greffe by the close of the four months after the merits judgment (art. XVII.45 §3, 7° and XVII.55/1 CDE): not a member](https://vcrs.org/draft/vectors/be/d-sme-abroad-not-opted-in.json) | D | not\_opted\_in |

### The core

| Record | Grade | Reasons |
|---|---|---|
| [Checked against an outside source, identity through a notified eIDAS means at substantial](https://vcrs.org/draft/vectors/core/a-checked-eidas.json) | A | None |
| [As above, at assurance high](https://vcrs.org/draft/vectors/core/a-checked-eidas-high.json) | A | None |
| [A legal person: registration number, checked against the business register, identified through eIDAS](https://vcrs.org/draft/vectors/core/a-legal-person.json) | A | None |
| [Checked; identity verified at assurance low only](https://vcrs.org/draft/vectors/core/b-checked-low-assurance.json) | B | assurance\_too\_low |
| [Checked; identity verified through a scheme the core does not name](https://vcrs.org/draft/vectors/core/b-checked-scheme-not-recognised.json) | B | scheme\_not\_recognised |
| [Checked against an outside source; identity not verified](https://vcrs.org/draft/vectors/core/b-checked-unverified.json) | B | identity\_not\_verified |
| [Evidence the person supplied places them in the class; identity not verified](https://vcrs.org/draft/vectors/core/b-supplied.json) | B | not\_checked, identity\_not\_verified |
| [Supplied evidence and verified identity, but membership not checked against an outside source](https://vcrs.org/draft/vectors/core/b-supplied-eidas.json) | B | not\_checked |
| [Basis checked, but the outside source is not named](https://vcrs.org/draft/vectors/core/c-checked-without-source.json) | C | no\_evidence |
| [Evidence stored, but the facts held don't decide class membership](https://vcrs.org/draft/vectors/core/c-class-not-established.json) | C | class\_not\_established |
| [Named, distinct, contact confirmed, informed; membership on the person's word alone](https://vcrs.org/draft/vectors/core/c-declared.json) | C | declared\_only |
| [Declared membership stays C even where the declaration places the person in the class](https://vcrs.org/draft/vectors/core/c-declared-in-class.json) | C | declared\_only |
| [A legal person on its own word](https://vcrs.org/draft/vectors/core/c-legal-person-declared.json) | C | declared\_only |
| [Basis supplied, but no document is stored](https://vcrs.org/draft/vectors/core/c-supplied-without-evidence.json) | C | no\_evidence |
| [A natural person whose record omits birth\_date altogether](https://vcrs.org/draft/vectors/core/d-birth-date-absent.json) | D | not\_distinct |
| [Marked the duplicate of another record](https://vcrs.org/draft/vectors/core/d-duplicate.json) | D | duplicate |
| [Excluded by the representative](https://vcrs.org/draft/vectors/core/d-excluded.json) | D | not\_active |
| [A legal person without a registration number](https://vcrs.org/draft/vectors/core/d-legal-person-no-number.json) | D | not\_distinct |
| [A name but nothing that tells two people with that name apart](https://vcrs.org/draft/vectors/core/d-no-birth-date.json) | D | not\_distinct |
| [Anonymous: no name held](https://vcrs.org/draft/vectors/core/d-no-name.json) | D | no\_name |
| [Opted out](https://vcrs.org/draft/vectors/core/d-opted-out.json) | D | not\_active |
| [The facts held place the person outside the class](https://vcrs.org/draft/vectors/core/d-outside-class.json) | D | outside\_class |
| [Every rule of 4.1 that applies is reported, in the order of 4.1](https://vcrs.org/draft/vectors/core/d-several.json) | D | not\_active, uninformed\_flow, no\_name, unconfirmed\_contact |
| [Contact channel never confirmed](https://vcrs.org/draft/vectors/core/d-unconfirmed-contact.json) | D | unconfirmed\_contact |
| [Joined through a flow version that doesn't state the claim](https://vcrs.org/draft/vectors/core/d-uninformed-flow.json) | D | uninformed\_flow |
| [Names a flow version the register doesn't hold](https://vcrs.org/draft/vectors/core/d-unknown-flow.json) | D | uninformed\_flow |
| [Withdrawn before the reference date](https://vcrs.org/draft/vectors/core/d-withdrawn.json) | D | not\_active |

### Annex CZ: Czech Republic (hromadné řízení)

| Record | Grade | Reasons |
|---|---|---|
| [Written consent to the action given before it was filed, which counts as a přihláška (§ 31 odst. 2)](https://vcrs.org/draft/vectors/cz/b-consent-before-filing.json) | B | not\_checked, identity\_not\_verified |
| [Resident in Slovakia, a signed přihláška made with the plaintiff (§ 84 odst. 2, § 32 odst. 1)](https://vcrs.org/draft/vectors/cz/b-prihlaska-from-abroad.json) | B | not\_checked, identity\_not\_verified |
| [A signed přihláška lodged with the court within the period, which the court passes to the plaintiff (§ 32 odst. 2)](https://vcrs.org/draft/vectors/cz/b-prihlaska-to-the-court.json) | B | not\_checked, identity\_not\_verified |
| [A signed přihláška on the ministry's form, made with the plaintiff, with the order confirmation behind the claim (§ 32 odst. 1, § 33)](https://vcrs.org/draft/vectors/cz/b-prihlaska-to-the-plaintiff.json) | B | not\_checked, identity\_not\_verified |
| [Signed up on the plaintiff's site and confirmed by mail, but made no signed přihláška (§ 33 odst. 1)](https://vcrs.org/draft/vectors/cz/d-no-prihlaska.json) | D | not\_opted\_in |
| [A přihláška made after the joining period had ended (§ 31 odst. 1, § 34 odst. 2)](https://vcrs.org/draft/vectors/cz/d-prihlaska-after-the-period.json) | D | not\_active |
| [A přihláška without the facts of § 33 odst. 2, left uncorrected after the plaintiff's request (§ 34 odst. 2)](https://vcrs.org/draft/vectors/cz/d-prihlaska-uncorrected.json) | D | not\_active |
| [Struck from the list on the plaintiff's motion, since membership was not at least probable (§ 41)](https://vcrs.org/draft/vectors/cz/d-struck-from-the-list.json) | D | not\_active |

### Annex DE: Germany (Verbandsklage under the VDuG)

| Record | Grade | Reasons |
|---|---|---|
| [Signed up with the representative, not yet registered with the Bundesamt für Justiz, while the § 46(1) window is still open: counted on the record's own facts](https://vcrs.org/draft/vectors/de/b-window-open.json) | B | not\_checked, identity\_not\_verified |
| [Membership rests on the consumer's sworn statement, which is no Berechtigungsnachweis (§ 16(2) VDuG; KG 20 VKl 1/25, p. 35), so it is the person's own word](https://vcrs.org/draft/vectors/de/c-sworn-statement.json) | C | declared\_only |
| [Signed up with the representative but never registered the claim with the Bundesamt für Justiz, and the § 46(1) window has closed](https://vcrs.org/draft/vectors/de/d-not-registered.json) | D | not\_opted\_in |
| [Registered with the Bundesamt für Justiz after the § 46(1) window had closed](https://vcrs.org/draft/vectors/de/d-registered-late.json) | D | not\_opted\_in |
| [Sent the registration to the representative instead of the Bundesamt für Justiz (§ 47(1) VDuG), and the window has closed](https://vcrs.org/draft/vectors/de/d-registered-with-representative.json) | D | not\_opted\_in |

### Annex FI: Finland (ryhmäkanne under the ryhmäkannelaki)

| Record | Grade | Reasons |
|---|---|---|
| [Resident in Sweden, gave the claimant written notice within the period (8 § 1 mom)](https://vcrs.org/draft/vectors/fi/c-joined-from-abroad.json) | C | declared\_only |
| [Gave the claimant written notice within the period the court set (8 § 1 mom)](https://vcrs.org/draft/vectors/fi/c-joined-in-the-period.json) | C | declared\_only |
| [Signed up with the claimant, no notice yet, while the court's period is still open: counted on the record's other facts (6 § 1 mom)](https://vcrs.org/draft/vectors/fi/c-period-open.json) | C | declared\_only |
| [A new member the claimant brought in during preparation by widening the group's definition (12 § 1 mom): a member in law, which the validator does not count (Annex FI, section 8)](https://vcrs.org/draft/vectors/fi/d-added-by-a-wider-definition.json) | D | not\_opted\_in |
| [Admitted by the claimant for a special reason after the period, before the refined summons (8 § 2 mom): a member in law, which the validator does not count (Annex FI, section 8)](https://vcrs.org/draft/vectors/fi/d-admitted-late-by-the-claimant.json) | D | not\_opted\_in |
| [A pre-registration taken before the court set the period, with no notice within it (8 § 1 mom)](https://vcrs.org/draft/vectors/fi/d-joined-before-the-period.json) | D | not\_opted\_in |
| [Sent the notice to the court, not to the claimant (8 § 1 mom)](https://vcrs.org/draft/vectors/fi/d-joined-to-the-court.json) | D | not\_opted\_in |
| [Gave the claimant no written notice, and the court's period has closed (8 § 1 mom)](https://vcrs.org/draft/vectors/fi/d-not-joined.json) | D | not\_opted\_in |
| [Did not pay the sign-up fee the designated organisation required (8 § 1 mom)](https://vcrs.org/draft/vectors/fi/d-sign-up-fee-unpaid.json) | D | not\_active |

### Annex IE: Ireland (representative action under the 2023 Act)

| Record | Grade | Reasons |
|---|---|---|
| [Habitually resident in another Member State, notified the qualified entity and signed the declaration (s. 24(1))](https://vcrs.org/draft/vectors/ie/c-notified-from-another-member-state.json) | C | declared\_only |
| [Notified the qualified entity on Form 3 and signed the declaration (s. 24(1), s. 25(1))](https://vcrs.org/draft/vectors/ie/c-notified-the-qe.json) | C | declared\_only |
| [Did not pay the qualified entity's entry fee within the period it published (s. 29(3))](https://vcrs.org/draft/vectors/ie/d-entry-fee-unpaid.json) | D | not\_active |
| [Notified the qualified entity but signed no declaration (s. 25(3))](https://vcrs.org/draft/vectors/ie/d-no-declaration.json) | D | no\_parallel\_declaration |
| [Signed up with the qualified entity's site and signed the declaration, but never notified it on Form 3 (s. 24(4))](https://vcrs.org/draft/vectors/ie/d-not-notified.json) | D | not\_opted\_in |
| [Notified the qualified entity after the court deemed the action admissible (s. 24(2))](https://vcrs.org/draft/vectors/ie/d-notified-after-admissibility.json) | D | not\_active |
| [Notified the trader, not the qualified entity (s. 24(1))](https://vcrs.org/draft/vectors/ie/d-notified-to-another-channel.json) | D | not\_opted\_in |
| [Resident outside the Member States, so the person cannot notify (s. 24(1))](https://vcrs.org/draft/vectors/ie/d-resident-outside-the-member-states.json) | D | outside\_class |

### Annex IT: Italy (azione di classe and azione rappresentativa)

| Record | Grade | Reasons |
|---|---|---|
| [Adhered by a domanda in the fascicolo informatico within a term, identified by SPID (notified under eIDAS), membership checked against the defendant's records (art. 840-septies(1) c.p.c.)](https://vcrs.org/draft/vectors/it/a-adhered-through-the-portal.json) | A | None |
| [No domanda yet, after the first term and before the judgment sets the second: the person may still adhere (art. 840-sexies(1)(e) c.p.c.), so the record counts on its own facts](https://vcrs.org/draft/vectors/it/a-between-terms.json) | A | None |
| [Filed a domanda di adesione after the last term had closed (artt. 840-quinquies(1), 840-sexies(1)(e) c.p.c.)](https://vcrs.org/draft/vectors/it/d-adesione-late.json) | D | not\_opted\_in |
| [No domanda di adesione was filed within a term the court set, and the last term has closed (artt. 840-quinquies(1), 840-sexies(1)(e) c.p.c.)](https://vcrs.org/draft/vectors/it/d-adesione-not-filed.json) | D | not\_opted\_in |
| [The adherent revoked the mandate to the rappresentante comune, so the adhesion is void (art. 840-septies(7) c.p.c.)](https://vcrs.org/draft/vectors/it/d-adesione-revoked.json) | D | not\_active |
| [Sent the adhesion to the representative instead of filing it in the fascicolo informatico, and the last term has closed (art. 840-septies(1) c.p.c.)](https://vcrs.org/draft/vectors/it/d-adesione-to-representative.json) | D | not\_opted\_in |
| [In an azione di classe the adherent did not pay the fondo spese the judgment set, so the adhesion is void by law (art. 840-sexies(3) c.p.c.)](https://vcrs.org/draft/vectors/it/d-fondo-spese-unpaid.json) | D | not\_active |

### Annex NL: the Netherlands (WAMCA)

| Record | Grade | Reasons |
|---|---|---|
| [A company checked against the Handelsregister, acting through eHerkenning](https://vcrs.org/draft/vectors/nl/a-eherkenning-kvk.json) | A | None |
| [Vehicle checked against the RDW register, identity through iDIN](https://vcrs.org/draft/vectors/nl/a-idin-rdw.json) | A | None |
| [Name and birth date given, contact confirmed, invoice supplied: the SOMI pattern plus evidence](https://vcrs.org/draft/vectors/nl/b-email-only-identity.json) | B | not\_checked, identity\_not\_verified |
| [Resident in Germany, no opt-in yet, before any window opened: counts as support](https://vcrs.org/draft/vectors/nl/c-abroad-before-window.json) | C | declared\_only |
| [Resident in Belgium, opted in and declared no parallel action (art. 1018f lid 5 and 6 Rv)](https://vcrs.org/draft/vectors/nl/c-abroad-opted-in.json) | C | declared\_only |
| [Resident in Germany, opted in by e-mail to the court, the route the court set: represented](https://vcrs.org/draft/vectors/nl/c-abroad-opted-in-court-channel.json) | C | declared\_only |
| [Resident in Germany, no opt-in yet, while the window is still open: counts as support](https://vcrs.org/draft/vectors/nl/c-abroad-window-open.json) | C | declared\_only |
| [Resident in Belgium, opted in, but no declaration on parallel actions, after the opt-in window closed](https://vcrs.org/draft/vectors/nl/d-abroad-no-parallel-declaration.json) | D | no\_parallel\_declaration |
| [Resident in Germany, never opted in: not represented in a Dutch action, after the opt-in window closed](https://vcrs.org/draft/vectors/nl/d-abroad-not-opted-in.json) | D | not\_opted\_in, no\_parallel\_declaration |
| [Resident in Germany, consent given at sign-up before the window opened: not represented](https://vcrs.org/draft/vectors/nl/d-abroad-opted-in-early.json) | D | not\_opted\_in |
| [Resident in Germany, opted in after the window closed: not represented](https://vcrs.org/draft/vectors/nl/d-abroad-opted-in-late.json) | D | not\_opted\_in |
| [Resident in Germany, opted in by telling the foundation, not the registry: not represented](https://vcrs.org/draft/vectors/nl/d-abroad-opted-in-to-foundation.json) | D | not\_opted\_in |
| [Resident in Germany, never opted in, contact never confirmed: rules 7 and 8 reported in the order of 4.1](https://vcrs.org/draft/vectors/nl/d-abroad-several.json) | D | unconfirmed\_contact, not\_opted\_in, no\_parallel\_declaration |
| [No residence held, so the record can't show the person is represented](https://vcrs.org/draft/vectors/nl/d-residence-unknown.json) | D | residence\_unknown |
| [A box the person ticked, no name held: the Stellantis and TPC pattern](https://vcrs.org/draft/vectors/nl/d-ticked-box.json) | D | no\_name, not\_distinct, unconfirmed\_contact |

### Annex PL: Poland (postępowanie grupowe)

| Record | Grade | Reasons |
|---|---|---|
| [Resident in Germany, gave the podmiot upoważniony a written declaration with the statements of art. 6 ust. 7](https://vcrs.org/draft/vectors/pl/c-declared-from-abroad.json) | C | declared\_only |
| [Gave the group's representative a written declaration of joining, with the statements on parallel actions (art. 11 ust. 2 pkt 3, art. 12)](https://vcrs.org/draft/vectors/pl/c-declared-to-the-representative.json) | C | declared\_only |
| [Sued the defendant alone before the group action began, then declared after the court's term but before the first instance ended; the court discontinues the own action (art. 13 ust. 2)](https://vcrs.org/draft/vectors/pl/c-joined-after-own-action.json) | C | declared\_only |
| [Declared a withdrawal after the composition order became final, which has no effect, so the record stays active (art. 17 ust. 3)](https://vcrs.org/draft/vectors/pl/c-withdrew-after-the-composition-order.json) | C | declared\_only |
| [Declared after the term the court set in the announcement (art. 11 ust. 5)](https://vcrs.org/draft/vectors/pl/d-declared-after-the-term.json) | D | not\_active |
| [Sent the declaration to the court, not to the representative (art. 11 ust. 2 pkt 3)](https://vcrs.org/draft/vectors/pl/d-declared-to-the-court.json) | D | not\_opted\_in |
| [In a podmiot upoważniony's action, the declaration states that the person joined another group action against the defendant over the same infringement (art. 6 ust. 7 pkt 1)](https://vcrs.org/draft/vectors/pl/d-joined-another-group-action.json) | D | no\_parallel\_declaration |
| [Signed up with the representative's site but gave no written declaration of joining (art. 1 ust. 3, art. 11 ust. 2 pkt 3)](https://vcrs.org/draft/vectors/pl/d-no-declaration.json) | D | not\_opted\_in |
| [In a member-led action, the declaration does not say whether the person joined another group action or sued over the same infringement (Annex PL, PL-14)](https://vcrs.org/draft/vectors/pl/d-no-parallel-statements.json) | D | no\_parallel\_declaration |
| [The court refused the person membership in the composition order (art. 17 ust. 1)](https://vcrs.org/draft/vectors/pl/d-refused-by-the-court.json) | D | not\_active |

### Annex PT: Portugal (ação popular and DL 114-A/2023)

| Record | Grade | Reasons |
|---|---|---|
| [Identity through Chave Móvel Digital, notified under eIDAS at assurance high](https://vcrs.org/draft/vectors/pt/a-chave-movel-digital.json) | A | None |
| [Resident in Spain, expressed the will to be represented (art. 12 DL 114-A/2023), no formality and no parallel declaration needed](https://vcrs.org/draft/vectors/pt/c-non-resident-declaration.json) | C | declared\_only |
| [Resident in Spain, never expressed the will to be represented, in an action outside DL 114-A/2023: no statute asks people abroad to opt in](https://vcrs.org/draft/vectors/pt/c-non-resident-outside-directive.json) | C | declared\_only |
| [Resident in Portugal: represented without opting in (art. 14 Lei 83/95), counted on declared membership](https://vcrs.org/draft/vectors/pt/c-resident.json) | C | declared\_only |
| [Resident in Spain, never expressed the will to be represented, in an action under DL 114-A/2023 (art. 12(1))](https://vcrs.org/draft/vectors/pt/d-non-resident-silent.json) | D | not\_opted\_in |
| [Resident in Portugal who refused representation to the association alone (art. 15(4) Lei 83/95 takes a declaration in the court file): withdrawn, so not counted](https://vcrs.org/draft/vectors/pt/d-refused-to-association.json) | D | not\_active |

Implementations
---------------

An implementation conforms when it grades every vector as the vector states: the grade, and the reason codes of [core 11.5](https://vcrs.org/draft/core#11.5) in their order.

| Implementation | Language | Licence | Notes |
|---|---|---|---|
| [steddle/vcrs](https://github.com/steddle/vcrs) | Markdown, JSON Schema | CC BY 4.0 | The text, the schemas and the test vectors, published read-only. Comments arrive as issues there. |
| The reference validator | PHP | Not published | Grades every record of a facts export, measures coverage at each grade, computes the snapshot root with the inclusion proof of each record, and drafts the conformance statement. It grades every vector as stated. Not published. |

To be listed, open an issue on [steddle/vcrs](https://github.com/steddle/vcrs/issues) with the implementation's address, its language, its licence and the version of the standard it implements.
