mapping

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2026 License: BSD-2-Clause Imports: 4 Imported by: 0

Documentation

Overview

Package mapping provides types and loading for framework-to-control mappings.

Three framework mappings exist: EUDI SecReq, ISO 27001 Annex A, and GDPR. Each maps external requirement IDs to internal controls and tracks assessment results that can be derived from control and finding status.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ASVSFile

type ASVSFile struct {
	Mappings []ASVSMapping `yaml:"mappings"`
}

ASVSFile is the top-level OWASP ASVS mapping file.

type ASVSMapping

type ASVSMapping struct {
	Section  string   `yaml:"section"`
	Controls []string `yaml:"controls"`
	Coverage string   `yaml:"coverage"` // full | partial | none | not_assessed
	Owner    string   `yaml:"owner"`
	Notes    string   `yaml:"notes,omitempty"`
}

ASVSMapping entry maps one OWASP ASVS section.

type EUDIMapping

type EUDIMapping struct {
	Requirements []EUDIRequirement `yaml:"requirements"`
}

EUDIMapping is the top-level EUDI SecReq mapping file.

type EUDIRequirement

type EUDIRequirement struct {
	ID          string   `yaml:"id"`
	Result      string   `yaml:"result"` // compliant | partially_compliant | non_compliant | not_applicable | not_assessed
	Status      string   `yaml:"status"` // done | in_progress | to_do
	Controls    []string `yaml:"controls"`
	Observation string   `yaml:"observation,omitempty"`
	Owner       string   `yaml:"owner"` // platform | operator | shared
}

EUDIRequirement maps one EUDI SecReq requirement to controls.

type GDPRFile

type GDPRFile struct {
	Mappings []GDPRMapping `yaml:"mappings"`
}

GDPRFile is the top-level GDPR mapping file.

type GDPRMapping

type GDPRMapping struct {
	MatchName string   `yaml:"match_name"`
	Controls  []string `yaml:"controls"`
	Coverage  string   `yaml:"coverage"` // full | partial | none | not_assessed
	Owner     string   `yaml:"owner"`
	Notes     string   `yaml:"notes,omitempty"`
}

GDPRMapping entry maps one GDPR checklist item.

type ISOFile

type ISOFile struct {
	Mappings []ISOMapping `yaml:"mappings"`
}

ISOFile is the top-level ISO mapping file.

type ISOMapping

type ISOMapping struct {
	AnnexA   string   `yaml:"annex_a"`
	Controls []string `yaml:"controls"`
	Coverage string   `yaml:"coverage"` // full | partial | none | not_assessed
	Owner    string   `yaml:"owner"`
	Notes    string   `yaml:"notes,omitempty"`
}

ISOMapping entry maps one ISO 27001 Annex A control.

type Mappings

type Mappings struct {
	EUDI *EUDIMapping
	ISO  *ISOFile
	GDPR *GDPRFile
	ASVS *ASVSFile
}

Mappings holds all loaded framework mappings.

func Load

func Load(mappingsDir string) (*Mappings, error)

Load reads all mapping YAML files from the given directory.

func (*Mappings) Save

func (m *Mappings) Save(mappingsDir string) error

Save writes modified mapping files back to disk.

Jump to

Keyboard shortcuts

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