Service Governance Template

Status: operational template. Copy this template when proposing a new ICN-hosted or ICN-governed service. Filling out this template does not deploy the service or make it canonical.

Purpose

This template forces every service proposal to answer the same questions:

  • What is the service?
  • Who operates it?
  • Who governs it?
  • What data does it hold?
  • How does identity work?
  • What protocol promises does it make?
  • What produces receipts?
  • How is it backed up?
  • How does the institution leave cleanly?

A service that cannot answer these questions is not ready to become an ICN dependency.


Service definition

service: <short-name>
status: planned | rehearsal | active | canonical | deprecated
route: <host-or-route>
service_kind: hosted_service | governed_service | icn_native_service
runtime: <software/runtime>
operator_scope: <who runs it>
governance_scope: <who authorizes policy changes>
identity_provider: <auth route or none>
canonical_status: none | rehearsal | canonical | mirror | projection

Summary

Describe what the service does in one paragraph.

Why this service exists

Explain the institutional need. Avoid tool-first justification. The service should reduce burden, preserve memory, improve access, create resilience, or make authority/provenance clearer.

Non-goals

List what this service does not do.

Examples:

  • Does not become ICN authority.
  • Does not replace DIDs.
  • Does not hold private data beyond stated scopes.
  • Does not make GitHub obsolete on day one.
  • Does not introduce institution-specific nouns into ICN core.

Data custody

Data class Canonical / projection / cache / mirror / external Notes

Data classes:

  • Canonical — source of truth for a bounded area.
  • Projection — derived view of ICN or another source.
  • Cache — disposable performance copy.
  • Mirror — copy for discovery, redundancy, or compatibility.
  • External — imported or linked from outside ICN.

Authority model

Who may use the service?

Who may administer it?

Which authority scopes are required?

Which actions require governance approval?

Which actions are ordinary operator actions?

Identity and login

auth:
  browser: cookie-session | oidc | local-temporary | none
  did_login: planned | implemented | not_applicable
  external_idp_bindings: allowed | disallowed | transition_only
  service_identities: planned | implemented | not_applicable

State clearly whether service-local users/groups are canonical or projections.

Preferred doctrine:

DID / ICN standing / authority_scope = authority
IdP / OIDC / service-local account = session projection

Protocol posture

protocols:
  commands: HTTP | other
  queries: HTTP | other
  events: SSE | polling | none
  realtime: WebSocket | none
replay:
  event_ids: true | false | not_applicable
  resume_after_disconnect: true | false | not_applicable
fallback:
  polling: true | false | not_applicable
payload_policy:
  event_streams_carry: pointers | payloads | none
receipt_source_of_truth: true | false

If realtime: WebSocket, justify why HTTP + SSE is insufficient.

Receipt posture

List actions that should be receipt-bearing.

Action Receipt candidate Implemented now? Notes
no

Receipt candidates must eventually align with the ADR-0026 receipt envelope. Do not invent a parallel audit system.

Compute posture

Can this service trigger compute jobs?

Examples:

  • scans
  • indexing
  • summarization
  • release builds
  • docs freshness
  • accessibility tests
  • translation
  • model-assisted deliberation packets

Rule:

compute produces evidence; governance / authorized humans decide

Backups

backup:
  required: true | false
  frequency: daily | weekly | manual | other
  includes:
    - database
    - files
    - configuration
    - repositories
  offsite_copy: true | false
  encryption: required | not_required | unknown
  restore_test_required: true | false

Describe where backups go and who can restore them.

Restore test

Describe how restore is tested.

Minimum questions:

  • Can the service start from backup?
  • Is canonical data present?
  • Are permissions/session projections restored or intentionally recreated?
  • Are secrets handled safely?
  • Can clients reconnect or reauthenticate?
  • Is mirror direction preserved or intentionally reset?

Incident plan

Describe what happens when:

  • service is down
  • operator loses access
  • host fails
  • database corrupts
  • credentials leak
  • route/TLS fails
  • upgrade fails
  • mirror diverges
  • unauthorized access is suspected

Exit / migration path

A service that traps institutional state should not be installed.

Explain:

  • How data exports.
  • Which formats are used.
  • How another service can import it.
  • What must be retained for audit.
  • Which data can be discarded.
  • How users are notified.

Privacy / access boundaries

List the most sensitive data the service can see.

List the data it must never receive.

List scopes or roles that can access sensitive data.

Observability

Describe:

  • metrics
  • logs
  • uptime checks
  • alerting
  • status-page integration
  • who can see operational logs
  • whether logs include sensitive data

Deployment target

deploy:
  target: vps | k3s | kubernetes | docker-compose | systemd | other
  persistence: pvc | host-path | object-store | database | other
  tls: acme | manual | reverse-proxy | other
  ssh_or_special_ports: []

Cutover gates

For services that replace an external dependency, list cutover gates.

Example gates:

  • backup passes
  • restore tested
  • auth works
  • route stable
  • mirror tested
  • contributor docs updated
  • incident rollback documented
  • service owners named
  • export path confirmed

Review checklist

  • Service definition is complete.
  • Authority model is clear.
  • Data custody is classified.
  • Backup plan exists.
  • Restore test exists.
  • Exit path exists.
  • Protocol posture is justified.
  • WebSocket use, if any, is justified.
  • Receipt candidates are named.
  • Compute use is evidence-only.
  • Auth bridge does not become authority.
  • No secrets are committed.
  • No institution-specific nouns are introduced into ICN core.
  • Accessibility / mobile implications are considered.

One-line rule

A service proposal is not ready until the institution can explain how to operate it, govern it, recover it, audit it, and leave it.