Skip to main content

vulkro-sf compliance

Turns a scan into the compliance deliverables a team hands to an auditor or regulator. Each subcommand scans the path itself, except attest, which works on a file you already generated.

vulkro-sf compliance bundle soc2 . -o soc2-bundle.md
vulkro-sf compliance report --framework gdpr . --format markdown -o gdpr.md
vulkro-sf compliance attest soc2-bundle.md --submitter "Security team"
SubcommandWhat it produces
bundle <soc2|hipaa|pci> [PATH]Auditor package mapping findings to the framework's control families, with per-control evidence.
report --framework <sox|pci|hipaa|gdpr> [PATH]One regulation's control report. Formats table, json, markdown.
ropa [PATH]GDPR Article 30 Record of Processing Activities, seeded from the personal data the scan found.
hipaa-matrix [PATH]HIPAA Security Rule safeguard matrix (45 CFR 164.308 and 164.312).
kpi [PATH]Executive summary: health score, findings by severity, SOC 2, HIPAA and PCI control rollups.
evidence-export [PATH]One timestamped JSON file (findings, control mappings, scan metadata) for SOC 2, ISO or FedRAMP pipelines.
attest <FILE>SHA-256 attestation of a file, appended to ~/.vulkro-sf/attestations.log. --against <json> verifies one.
baa-verify [PATH]Flags integrations that send data to a vendor with no recorded BAA or DPA (SF-COMPLIANCE-BAA-001).

bundle, ropa, hipaa-matrix and kpi write markdown by default (--format json for JSON). Every generator takes -o, --output <file>; otherwise it writes to stdout.

BAA registry​

baa-verify reads the project's Named Credentials, connected apps and hardcoded Apex endpoints and checks each against .vulkro-sf/data-agreements.yaml (or --registry <path>):

vendors:
- vendor: Acme Claims
agreement: BAA
hosts: [api.acmeclaims.example]
components: [Acme_Claims_NC]

An integration is covered when its host contains one of the vendor's hosts, or its component name is listed.

Exit codes​

CodeMeaning
0Generated, no failing control (for attest: attested or verified).
1At least one failing control, open risk or uncovered integration (for attest --against: hash mismatch).
2Error (unscannable path, output not writable, bad arguments).

See also: Compliance mapping