本リポジトリは、Yamano-Akashi(山のあかし)バックエンドにおける Verifiable Credential(VC)連携の公開仕様をまとめたものです。
なお、本リポジトリは、デジタル庁が令和7年度に実施したマイナンバーカード活用の実証事業(※)で構築したものでありますが、その活用使途について、登山に限定されるものではなく、他の観光資源の有用活用や、デジタルコミュニティ創造による地域活性化等、広く活用可能なものであることから、ここで公開します。
※ 北アルプス・八ヶ岳エリアで登山者を対象としたマイナンバーカードを活用した自然公園エコシステムに関する実証実験を実施します|デジタル庁
主に以下を提供します。
- VC-Data API の OpenAPI 仕様
- 仕様書(日本語、Markdown/PDF)
- 実装から抽象化した参照コード(
reference/) - API 利用サンプル(
examples/)
- Yamano-Akashi バックエンドが提供する VC-Data API の仕様
- VC 属性定義、
verification_count算出ロジック、システム構成説明 - 実装参照用の Python コード(依存箇所を抽象化)
- 認証基盤・ウォレットアプリの実装
- OID4VCI / OID4VP の実稼働エンドポイント実装
Note
docs/oid4vci-issuance-flow.md、docs/oid4vp-presentation-flow.md、docs/protocol-standards.md は、連携理解のための参考仕様です。
git clone https://github.com/digital-go-jp/yamano-akashi-vc-spec.git
cd yamano-akashi-vc-spec- OpenAPI:
openapi.yaml - API詳細:
docs/api-interface-spec.md
# OpenAPI ドキュメントを HTML に変換して表示(Node.js が必要)
npx @redocly/cli build-docs openapi.yaml
open redoc-static.html # macOS の場合# 1. 環境変数ファイルを作成
cp .env.example .env
# .env を編集して必要な値を設定してください
# 2. Dockerイメージをビルド
docker build -t yamano-akashi-vc-ref ./reference
# 3. コンテナを起動
docker run -p 8000:8000 \
--env-file .env \
yamano-akashi-vc-ref
# 4. 動作確認
curl http://localhost:8000/healthWarning
reference/ は実装参照用のコードであり、アプリエントリポイント(main.py 等)や DB 接続設定は含まれていません。上記手順で動作させるには、これらを自前で実装・補完する必要があります。examples/docker-compose.example.yml も併せて参照してください。
- curl:
examples/curl_examples.sh - Python:
examples/python_client.py
どちらもプレースホルダー(https://api.example.com、YOUR_API_TOKEN)を実環境値に置き換えて利用してください。
- エンドポイント:
POST /v1/auth-platform/vc-data - 認証: Bearer Token
- Content-Type:
application/x-www-form-urlencoded vctype:climb(入山準備VC)donation(寄付VC)
- レスポンス方針:
- 認証エラー(401)・設定エラー(500)を除き、HTTP は
200 - ビジネスエラーはレスポンスボディ(
userMessageなど)で表現
- 認証エラー(401)・設定エラー(500)を除き、HTTP は
詳細は openapi.yaml および docs/api-interface-spec.md を参照してください。
| ファイル | 内容 |
|---|---|
docs/api-interface-spec.md |
VC-Data API インターフェース仕様 |
docs/vc-attribute-spec.md |
VC属性スキーマ定義 |
docs/verification-count.md |
verification_count 算出ロジック |
docs/system-architecture.md |
システム構成・連携概要 |
docs/oid4vci-issuance-flow.md |
参考: OID4VCI 発行フロー |
docs/oid4vp-presentation-flow.md |
参考: OID4VP 提示フロー |
docs/protocol-standards.md |
参考: 関連プロトコル標準 |
各ドキュメントの PDF 版は docs/*.pdf に同梱しています。
yamano-akashi-vc-spec/
├── .gitignore
├── README.md
├── LICENSE
├── openapi.yaml
├── docs/
│ ├── *.md / *.pdf
│ ├── images/
│ └── mermaid/
├── examples/
│ ├── curl_examples.sh
│ ├── python_client.py
│ └── docker-compose.example.yml
└── reference/
├── Dockerfile
├── requirements.txt
├── interfaces.py
├── models.py
├── schemas.py
└── routers/
├── vc_data.py
└── verification.py
reference/ は、Yamano-Akashi バックエンド実装から抽象化した参照コードです。以下の性質があります。
- ベンダー依存の認証・暗号化処理はインターフェース化
- 実運用向け設定や一部依存モジュール(例: DB 接続やアプリエントリポイント)は省略
- そのまま本番利用することを目的とした配布物ではない
examples/docker-compose.example.yml は、ローカル検証時の構成サンプル(プレースホルダー付き)です。
- APIトークン、DB接続情報などの機密値はリポジトリにコミットしないでください。
- サンプル内プレースホルダーは必ず実運用値へ置換してください。
本リポジトリは実証実験成果の公開と参照資料提供を目的としているため、原則としてバグ報告・機能改善の受付は行っていません。
本リポジトリは MIT License の下で公開されています。
Copyright (c) 2026 デジタル庁