Trục 6: Mẫu
Mẫu Danh mục OSCAL
Bản thảo
GCBoK định nghĩa các phân loại tuân thủ của Đức dưới dạng các danh mục OSCAL - một điều mới mẻ trên thị trường:
oscal_catalog:
groups:
- id: "gobdControls"
title: "GoBD - Nachvollziehbarkeit"
controls:
- id: "GOBD-01"
title: "Progressive Navigation"
description: "Jeden Geschäftsvorfall rückwärts verfolgbar"
- id: "bsiControls"
title: "BSI IT-Grundschutz Module"
controls:
- id: "APP.3.1.A1"
title: "Datensicherung"
- id: "dsgvoControls"
title: "DSGVO Anförderungen"
controls:
- id: "DSGVO-Art.17"
title: "Recht auf Vergessenwerden"
Mẫu Chính sách OPA
Bản thảo
Ví dụ về một chính sách Rego để xác thực chứng từ:
package gitcover.compliance
deny[msg] {
input.class == "INVOICE"
not input.prev_sha256
msg := "INVOICE muss prev-hash referenzieren"
}
deny[msg] {
input.class == "PAYMENT"
not input.gpg_fingerprint
msg := "PAYMENT muss GPG-signiert sein"
}
allow {
count(deny) == 0
}
Lược đồ V7GUID
Bản thảo
Lược đồ siêu dữ liệu V7GUID chuẩn tắc:
v7guid: "0197a3b2-f3c0-7b00-8001-000000000042"
class: INVOICE # PERSON | INVOICE | PAYMENT | CONTRACT | ...
sha256: "7d4e2f..."
prev_sha256: "3f2a1c..." # null für Genesis-Beleg
gpg_fingerprint: "ABCD1234..."
timestamp_iso: "2026-06-14T11:18:00+02:00"
gobd_periode: "FY2026"
Độ sâu tuân thủ → Phân tầng lược đồ V7GUID
Tùy thuộc vào độ sâu tích hợp của kho Git và mức độ yêu cầu tuân thủ, cần có các lược đồ JSON V7GUID khác nhau. GCBoK định nghĩa một phân tầng lược đồ (Schema-Tiering) (mô hình phân cấp), được gắn với VariantId, kind và status:
| Cấp | Yêu cầu tuân thủ | Các trường lược đồ bắt buộc | VariantId |
kind |
status |
|---|---|---|---|---|---|
| T1 | Chỉ GoBD/AO (tối thiểu) | v7guid, class, sha256, prev_sha256, gpg_fingerprint, timestamp_iso, gobd_periode |
10 (lưu trữ 10 năm §147 AO) |
INVOICE, RECEIPT, CONTRACT |
ACTIVE |
| T2 | PII / DSGVO | T1 + tenant_id, org_unit_id, data_category (Art. 9 DSGVO), retention_legal_basis |
11 (cấp bảo vệ DSGVO) |
PERSON, HR_DATA |
ACTIVE |
| T3 | NIS2 (Hạ tầng trọng yếu) | T2 + risk_level, incident_reporting_obligation, supply_chain_tier |
12 (phân lớp rủi ro NIS2) |
INFRASTRUCTURE, LOG_DATA |
ACTIVE |
| T4 | ISO 27001 (đầy đủ) | T3 + control_id (ISO 27001 Annex A), asset_classification, treatment_plan_ref |
13 (IFRS/HGB + ISO) |
POLICY, AUDIT_EVIDENCE |
ACTIVE |
Nguyên tắc: „Cuối cùng chỉ còn lại các Git-Repo" — phương án dự phòng khi kiểm tra/kiểm toán là các Code-Artifacts + Registry/Dictionary .gitcover ở định dạng JSON/JSONL. Gói kiểm tra HTML chỉ mang tính trình bày; pháp y số chính là Git-Repo (xem Quy trình thực hiện: Audit-Readiness và dẫn xuất gcbok-audit-evidence-docs/docs/02-audit-website-als-pruefungsartefakt).
Các tệp lược đồ được lưu trữ có quản lý phiên bản trong .gitcover/schemas/ của TOP-Repo và được làm cho có thể phân giải thông qua others.json.
Mẫu Container DMS
Container .v7g.zip cho GCDMS (phạm vi tùy thuộc vào Use Case):
document.v7g.zip
├── .v7g.md # Metadaten, ggfs. mit Strukturinformationen in Markdown Artefakten (JSON/YAML/XML, SHA256 Hash des Urdokuments, etc.)
├── .v7g.sig # GPG-Signatur
├── document.pdf # Originaldokument (Urdokument)
├── document.json # Maschinenlesbare Extrakte
├── document.xml # Maschinenlesbare Extrakte (z.B. X-Rechnung)
└── attachments/ # Anhänge
Lựa chọn định dạng tùy theo Use Case
| Định dạng | Cách sử dụng |
|---|---|
.v7g.json |
Đọc được bằng máy, chính sách OPA, xuất OSCAL |
.v7g.md |
Siêu liên kết, con người đọc được, Git-Web-UI |
.v7g.yaml |
Tệp cấu hình, có thể chỉnh sửa bởi con người |
Mẫu Sidecar V7GUID
Sidecar chuẩn tắc (*.v7g.md) cho một tài liệu gốc kỹ thuật số. Lược đồ: https://gitcover.org/schemas/v7g-sidecar-1.0.schema.json; siêu dữ liệu của thực thể tuân theo record-metadata-1.0.schema.json (ISO 15489).
DocID =
uuidv7(bộ nhận diện thực thể) so vớiv7guid(bộ nhận diện lớp/ngữ cảnh). Cả hai đều được ghi trong Sidecar và được liên kết với nhau thông quacomposite_key({v7guid}:{uuidv7}). Nội dung tối thiểu:sha256của tài liệu gốc.
# V7G Sidecar - {original_filename}
**SHA-256:** `{sha256}`
**Tenant:** {tenant}
**Kategorie:** {category}
**Sphäre:** {sphere}
**Tags:** {tags}
```json
{
"$schema": "https://gitcover.org/schemas/v7g-sidecar-1.0.schema.json",
"uuidV7": "{uuidv7}",
"sha256": "{sha256}",
"title": "{original_filename}",
"original_filename": "{original_filename}",
"locations": [
{ "unc_path": "./{tenant}/{path}", "from": "{YYMMDD}", "to": null, "note": "Primärspeicherort" }
],
"v7g_taxonomy": [
{ "v7guid": "{v7guid}", "taxonomy": "{tenant}/{taxonomy}", "valid_from": "{YYMMDD}", "valid_to": null }
],
"gcpn": { "prima_nota_ref": null, "journal_entry_ref": null },
"obsolescence": { "status": "active", "superseded_by": null, "last_checked_at": "{ts}", "last_checked_by": "{user}" },
"verification": { "verified_at": "{ts}", "verified_by": "auto", "method": "sha256_file", "intact": true },
"tags": ["{tag}"],
"sphere": "{sphere}"
}
```
Gán DocID: Khi tài liệu được nhập mới vào DMS, công cụ Sidecar tạo một UUIDv7 từ một đối số TimeStamp để làm DocID (uuidV7). Nguồn mặc định là mtime của tệp; nếu tên tệp hoặc nội dung cung cấp một ngày tháng nghiệp vụ, thì ngày đó sẽ được sử dụng (xem Trục 5: Quy trình thực hiện).