# GENERATED. Do not change this line unless the file contains project specific changes.
# DO NOT EDIT THIS FILE. Changes are overwritten on the next build.
# Owner command: archetype.registry.build
# Edit instead: the archetype.registry.build generator source (not this file).
# Regenerate:   pnpm exec werkstatt run archetype.registry.build
id: nachweis-detail
displayName: Nachweis Detail
version: 1.0.0
semanticRole: trust-detail
description: |
  Full detail page component for a single Nachweis record. Renders a
  nachweis-card plus a Sichtpass section with hashes, verification level,
  timestamp, and signature. RFC-0708.
expectedIntents:
  - verify
expectedIndustryFit:
  - non-profit
layoutHint: single-column
propsSchema:
  $shape: zod
  shape: |
    z.object({
      slug: z.string(),
      title: z.string(),
      result: z.string(),
      scope: z.string().optional(),
      context: z.string().optional(),
      limitations: z.string().optional(),
      quote: z.string().optional(),
      quoteLang: z.string().optional(),
      source: z.string().optional(),
      verifiedScope: z.string().optional(),
      notVerifiedScope: z.string().optional(),
      status: z.enum(["draft", "preview", "published", "withdrawn"]),
      verifiedByLabel: z.string().optional(),
      sichtpass: z.object({
        sourceSha256: z.string(),
        publicDerivativeSha256: z.string().optional(),
        recordPayloadSha256: z.string().optional(),
        envelopeSha256: z.string().optional(),
        operatorSignature: z.string().optional(),
        timestamp: z.object({
          tokenPresent: z.boolean(),
          assurance: z.enum(["rfc3161", "eidas-qualified"]),
          providerName: z.string().optional(),
          qualificationEvidenceRef: z.string().optional(),
        }).optional(),
        verificationLevel: z.string().optional(),
      }).optional(),
      display: z.object({
        document: z.enum(["visible", "hidden"]),
        screenshot: z.enum(["visible", "hidden"]),
        websiteLink: z.enum(["visible", "hidden"]),
      }).optional(),
      websiteUrl: z.string().optional(),
      websiteScreenshot: z.object({
        sha256: z.string(),
        mediaType: z.string(),
        storage: z.enum(["private", "public"]),
        url: z.string().optional(),
        capturedAt: z.string().optional(),
      }).optional(),
      pdfUrl: z.string().optional(),
      pdfSha256: z.string().optional(),
    }).passthrough()
acceptedCosmicNames:
  - Kerberos
constraints: {}
