soc2

package
v0.67.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 13, 2026 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package soc2 is the SOC 2 (TSC 2017) framework: the control catalog, the automated policy library expressed in the pass_when: DSL, and the manual-evidence policies. Every shipped policy is pass_when: or manual — Rules() returns nil (no rule: escape hatch is used today; the infrastructure remains available for a future check the DSL cannot express).

Policies are authored as Go values via the compact builders in this file. Most automated checks reduce to "every / no / some record in a slot satisfies a field condition" — exactly what the pass_when DSL expresses without a line of Go.

Every evidence type a shipped policy accepts has a registered emitter (enforced at build time by internal/sources/builtin/coverage_test.go), so there are no inert "deferred-source" policies in-tree. A new evidence type added ahead of its source must ship a source in the same change or the coverage test fails.

Index

Constants

View Source
const FrameworkID = "soc2"

FrameworkID is the registered identifier.

View Source
const FrameworkVersion = "soc2-2017@1.0.0"

FrameworkVersion stamps every PolicyRef returned by this framework.

Variables

This section is empty.

Functions

func Controls

func Controls() []core.Control

Controls returns the SOC 2 (TSC 2017) control catalog: the common criteria (CC1–CC9) plus the Availability (A1), Confidentiality (C1), Processing Integrity (PI1), and Privacy (P-series) categories referenced by the policy library.

func ManualCatalog

func ManualCatalog() map[string]manual.CatalogEntry

ManualCatalog returns one catalog entry per manual policy. The catalog ID equals each manual policy's CatalogEntry; cadence and grace period follow the policy's declared cadence.

func ManualCatalogExport added in v0.29.0

func ManualCatalogExport() manualcatalog.Catalog

ManualCatalogExport returns the descriptive, presentation-facing catalog for `sigcomply evidence catalog` (consumed by the Evidence SPA). Derived from the same manualSpecs() as the policy library, so the two cannot drift.

func Policies

func Policies() []core.Policy

Policies returns the full SOC 2 policy library: automated checks (all pass_when: — no shipped policy uses the rule: escape hatch) and manual-evidence policies.

func Register

func Register(set *registry.Set) error

Register populates the framework, rule, and policy registries. Errors surface as exit-3 configuration errors at startup.

func Rules

func Rules() []core.Rule

Rules returns the Go rule implementations referenced by RuleRef policies. Empty today — soc2 authors every policy with the pass_when DSL (see rules.go).

Types

type Framework

type Framework struct{}

Framework is the in-process SOC 2 framework.

func New

func New() *Framework

New returns a fresh Framework value.

func (*Framework) Controls

func (*Framework) Controls() []core.Control

Controls implements core.Framework.

func (*Framework) ID

func (*Framework) ID() string

ID implements core.Framework.

func (*Framework) Policies

func (*Framework) Policies() []core.PolicyRef

Policies implements core.Framework: the policy-ID references the planner walks.

func (*Framework) Version

func (*Framework) Version() string

Version implements core.Framework.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL