Skip to content
Closed
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
27 changes: 27 additions & 0 deletions .github/workflows/registry.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: registry

on:
pull_request:
paths:
- 'specs/**'
- 'scripts/build_registry.py'
- 'registry.yaml'
- 'README.md'
push:
branches: [main]

permissions:
contents: read

jobs:
check:
name: front matter and generated files
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: pip install pyyaml
- name: Validate front matter and check generated files are current
run: python3 scripts/build_registry.py --check
20 changes: 12 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,17 @@ Start with [process/](process/README.md) to see how the repository works and whe

## Specifications

| # | Name | Status | Description |
|---|------|--------|-------------|
| 1 | [1/COSS](specs/1/README.md) | draft | Specification framework and editorial process |
| 2 | [2/ANON-AADHAAR-V2](specs/2/README.md) | draft | Privacy-preserving verification of Aadhaar identity cards using ZK proofs |
| 3 | [3/SEMAPHORE-V4](specs/3/README.md) | draft | Anonymous group membership and signaling protocol |
| 4 | [4/EXCUBIAE](specs/4/README.md) | draft | Composable attribute-based access control framework for EVM |
| 5 | [5/ZK-PROOF-OF-PERSONHOOD](specs/5/README.md) | raw | ZK-based proof of personhood for online forums |
Generated from each spec's front matter by `scripts/build_registry.py`. Edit the spec, not this table.

<!-- BEGIN GENERATED SPEC TABLE -->
| # | Name | Type | Status | Domains | Description |
|---|------|------|--------|---------|-------------|
| 1 | [1/COSS](specs/1-coss/README.md) | process | deprecated | — | Specification framework and editorial process, superseded by process/ |
| 2 | [2/ANON-AADHAAR-V2](specs/2-anon-aadhaar-v2/README.md) | protocol | draft | prove | Privacy-preserving verification of Aadhaar identity cards using ZK proofs |
| 3 | [3/SEMAPHORE-V4](specs/3-semaphore-v4/README.md) | protocol | draft | read, write, prove | Anonymous group membership and signaling protocol |
| 4 | [4/EXCUBIAE](specs/4-excubiae/README.md) | interface | draft | prove, delegate | Composable attribute-based access control framework for EVM |
| 5 | [5/ZK-PROOF-OF-PERSONHOOD](specs/5-zk-proof-of-personhood/README.md) | protocol | idea | prove | ZK-based proof of personhood for online forums, text currently in zkID |
<!-- END GENERATED SPEC TABLE -->

## Why these live in their own repository

Expand All @@ -35,7 +39,7 @@ Spec and spec-like work that currently lives elsewhere and may move here over ti

| Area | Work | Location | Context here | Notes |
|------|------|----------|--------------|-------|
| Personhood | ZK Proof of Personhood | [`privacy-ethereum/zkID/specs/2-zk-proof-of-personhood`](https://github.com/privacy-ethereum/zkID/blob/main/specs/2-zk-proof-of-personhood/README.md) | Mirrored as [`5/ZK-PROOF-OF-PERSONHOOD`](specs/5/README.md) | Adjacent Access Layer spec work |
| Personhood | ZK Proof of Personhood | [`privacy-ethereum/zkID/specs/2-zk-proof-of-personhood`](https://github.com/privacy-ethereum/zkID/blob/main/specs/2-zk-proof-of-personhood/README.md) | Mirrored as [`5/ZK-PROOF-OF-PERSONHOOD`](specs/5-zk-proof-of-personhood/README.md) | Adjacent Access Layer spec work |
| Credentials | OpenAC Core | [`privacy-ethereum/zkID/specs/1-openac`](https://github.com/privacy-ethereum/zkID/blob/main/specs/1-openac/README.md) | Drafted in [#21](https://github.com/ethereum/access-layer-specs/pull/21) and [#23](https://github.com/ethereum/access-layer-specs/pull/23) | Protocol material alongside implementation work |
| Age verification | ZK Age Verification | [`privacy-ethereum/zkID/specs/3-zk-age-verification`](https://github.com/privacy-ethereum/zkID/blob/main/specs/3-zk-age-verification/README.md) | Drafted as `6/ZK-AGE-ELIGIBILITY` in [#19](https://github.com/ethereum/access-layer-specs/pull/19) | Adjacent Access Layer spec work |

Expand Down
2 changes: 2 additions & 0 deletions process/front-matter.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Each spec is a `README.md` inside its own numbered folder, and begins with a YAM
id: 6
title: Private Read Protocol
shortname: PRIVATE-READ
description: Private reads from Ethereum without revealing what was read
role: hosted
type: protocol
status: draft
Expand All @@ -29,6 +30,7 @@ upstream: null
| `id` | yes | The spec's number. Assigned on merge, never reused, never changed |
| `title` | yes | Plain name, no number in it |
| `shortname` | no | Upper-case short handle, used in the `N/SHORTNAME` form other specs cite |
| `description` | no | One line for the index table. Falls back to `title` when absent |
| `role` | yes | `hosted`, `mirrored` or `indexed` |
| `type` | yes | `protocol`, `interface`, `profile`, `schema` or `process` |
| `status` | yes | See [lifecycle.md](lifecycle.md) |
Expand Down
1 change: 1 addition & 0 deletions process/spec-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Delete any section that genuinely does not apply, and say why in the pull reques
id: 0000
title: Your Spec Name
shortname: YOUR-SPEC
description: One line, shown in the index table
role: hosted
type: protocol
status: draft
Expand Down
91 changes: 91 additions & 0 deletions registry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Generated by scripts/build_registry.py. Do not edit.
# Front matter in each spec's README.md is the source of truth.
specs:
- id: 1
title: Consensus-Oriented Specification System
path: specs/1-coss/README.md
role: hosted
type: process
status: deprecated
shortname: COSS
tags:
- process
- editorial
editor: Oskar Thoren <oskarth@titanproxy.com>
replaced_by: process/
- id: 2
title: Anonymous Aadhaar Verification Protocol
path: specs/2-anon-aadhaar-v2/README.md
role: hosted
type: protocol
status: draft
shortname: ANON-AADHAAR-V2
domains:
- prove
tags:
- zero-knowledge
- identity
- privacy
editor: Yanis Meziane <yanis@pse.dev>
depends_on:
- 1
- id: 3
title: Semaphore Protocol V4
path: specs/3-semaphore-v4/README.md
role: hosted
type: protocol
status: draft
shortname: SEMAPHORE-V4
domains:
- read
- write
- prove
tags:
- zero-knowledge
- identity
- privacy
- anonymity
- proof of membership
- groups
editor: Vivian Plasencia <vivianpc@pse.dev>
depends_on:
- 1
- id: 4
title: Excubiae Smart Contract Framework
path: specs/4-excubiae/README.md
role: hosted
type: interface
status: draft
shortname: EXCUBIAE
domains:
- prove
- delegate
tags:
- smart contract
- gatekeeper
- framework
- composable
- policy
- checker
editor: Giacomo Corrias (0xjei) <0xjei@pse.dev>
depends_on:
- 1
- id: 5
title: ZK-based Proof of Personhood for Online Forums
path: specs/5-zk-proof-of-personhood/README.md
role: indexed
type: protocol
status: idea
shortname: ZK-PROOF-OF-PERSONHOOD
domains:
- prove
tags:
- zero-knowledge
- identity
- privacy
- anonymous-credentials
- proof-of-personhood
editor: Nicole <nicole@ethereum.org>
upstream: https://github.com/ethereum/zkID/blob/main/specs/2-zk-proof-of-personhood/README.md
index_basis: formerly-hosted
index_reason: Written here in March 2026, imported into zkID in May, local copy removed in
Loading
Loading