All files / src/utils complianceTextUtils.ts

77.77% Statements 7/9
68.18% Branches 15/22
100% Functions 1/1
77.77% Lines 7/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43                          57x     57x 1x       56x 52x           4x 4x                          
import { SecurityLevel } from "../types/cia";
 
/**
 * Gets compliance requirement text for a security component and level
 *
 * @param component - The CIA component (confidentiality, integrity, availability)
 * @param level - The security level
 * @returns Human-readable compliance requirement description
 */
export function getComplianceRequirementText(
  component: "confidentiality" | "integrity" | "availability",
  level: SecurityLevel
): string {
  Iif (level === "None") {
    return `Not sufficient for most compliance frameworks`;
  }
  if (level === "Low") {
    return component === "availability"
      ? "Meets basic availability requirements"
      : "Meets basic compliance requirements";
  }
  if (level === "Moderate") {
    return component === "availability"
      ? "Satisfies most compliance needs"
      : component === "integrity"
      ? "Satisfies standard compliance expectations"
      : "Satisfies most regulatory requirements";
  }
  Eif (level === "High") {
    return component === "availability"
      ? "Meets high availability standards"
      : component === "integrity"
      ? "Meets advanced compliance standards"
      : "Meets stringent compliance standards";
  }
  // Very High
  return component === "availability"
    ? "Exceeds enterprise requirements"
    : component === "integrity"
    ? "Exceeds regulatory requirements"
    : "Exceeds most compliance requirements";
}