soc2

package
v0.19.1 Latest Latest
Warning

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

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

Documentation

Overview

Package soc2 is the SOC 2 framework skeleton: a Framework implementation, the control catalog, and the seed policies that demonstrate every L0–L9 seam works end-to-end. The full ~300-policy catalog is post-M6 work; M6 ships 3 representative policies — one automated, one manual, one cross-source.

See docs/architecture/09-implementation-roadmap.md §What's in v1-alpha.

Index

Constants

View Source
const FrameworkID = "soc2"

FrameworkID is the registered identifier.

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

FrameworkVersion stamps every PolicyRef returned by this framework.

View Source
const PolicyAccessReview = "soc2.cc6.3.access_review_quarterly"

PolicyAccessReview is the manual policy demonstrating manual.pdf → signed_document consumption.

View Source
const PolicyMFAEnforced = "soc2.cc6.1.mfa_enforced"

PolicyMFAEnforced is the automated policy demonstrating aws.iam → user_record consumption.

View Source
const PolicyMFAUnion = "soc2.cc6.1.mfa_enforced_all_sources"

PolicyMFAUnion is the cross-source policy demonstrating slot union: the user_directory slot binds multiple sources (in M6's fixture, only aws.iam is registered, but the slot's cardinality is `one-or-more` so a second source can be added without policy change).

Variables

This section is empty.

Functions

func Controls

func Controls() []core.Control

Controls returns the SOC 2 control catalog used by the M6 walking skeleton. Only the controls referenced by the three seed policies are listed today; the full TSC 2017 catalog is post-M6 work.

func ManualCatalog

func ManualCatalog() map[string]manual.CatalogEntry

ManualCatalog returns the catalog entries the manual.pdf plugin needs to resolve manual-evidence paths. M6 ships one entry; full catalog YAML loading is post-M6.

func Policies

func Policies() []core.Policy

Policies returns the seed policies. Authoring them as Go values (rather than embedded YAML) keeps the walking skeleton legible; the L0 YAML loader is exercised in internal/spec's own tests.

func Register

func Register(set *registry.Set) error

Register populates the rule and policy registries with the SOC 2 skeleton's rules and seed policies. Sources and evidence types are registered by the orchestrator alongside this call.

Errors here surface as exit-3 configuration errors at startup.

func Rules

func Rules() []core.Rule

Rules returns the rule implementations. Two rules cover the three policies (the two MFA policies share a rule).

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.

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