Raxol.Security.Encryption.Config (Raxol v2.0.1)

View Source

Configuration and policy management for encryption system.

This module manages encryption policies, compliance requirements, and configuration for different data classifications.

Data Classifications

  • :restricted - Highly sensitive (PII, PHI, payment data)
  • :confidential - Internal sensitive data
  • :internal - Internal use only
  • :public - No encryption required

Compliance Profiles

  • :pci_dss - Payment Card Industry
  • :hipaa - Healthcare data
  • :gdpr - EU personal data
  • :sox - Financial data

Summary

Functions

Returns a specification to start this module under a supervisor.

Gets the compliance profile configuration.

Gets the encryption policy for a data classification.

Gets recommended encryption settings for data.

Validates if encryption meets compliance requirements.

Types

compliance_profile()

@type compliance_profile() :: :pci_dss | :hipaa | :gdpr | :sox | :custom

data_classification()

@type data_classification() :: :restricted | :confidential | :internal | :public

encryption_policy()

@type encryption_policy() :: %{
  classification: data_classification(),
  algorithm: atom(),
  key_type: atom(),
  key_rotation_days: pos_integer(),
  require_mfa: boolean(),
  require_audit: boolean()
}

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

get_compliance_profile(config \\ __MODULE__, profile)

Gets the compliance profile configuration.

get_policy(config \\ __MODULE__, classification)

Gets the encryption policy for a data classification.

get_recommendations(config \\ __MODULE__, data_attributes)

Gets recommended encryption settings for data.

handle_manager_cast(msg, state)

Callback implementation for Raxol.Core.Behaviours.BaseManager.handle_manager_cast/2.

handle_manager_info(msg, state)

Callback implementation for Raxol.Core.Behaviours.BaseManager.handle_manager_info/2.

set_algorithm_preference(config \\ __MODULE__, algorithms)

Updates algorithm preferences.

set_policy(config \\ __MODULE__, classification, policy)

Sets a custom encryption policy.

start_link(init_opts \\ [])

validate_compliance(config \\ __MODULE__, encryption_params, profile)

Validates if encryption meets compliance requirements.