Module: Legion::Compliance::PhiAccessLog

Defined in:
lib/legion/compliance/phi_access_log.rb

Class Method Summary collapse

Class Method Details

.log_access(resource:, action:, actor:, reason:) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/legion/compliance/phi_access_log.rb', line 7

def log_access(resource:, action:, actor:, reason:)
  return unless Legion::Compliance.phi_enabled?
  return unless defined?(Legion::Audit)

  Legion::Audit.record(
    event_type:   'phi_access',
    principal_id: actor,
    action:       action,
    resource:     resource,
    detail:       { reason: reason, phi: true }
  )
rescue StandardError => e
  Legion::Logging.error "[Compliance] PhiAccessLog#log_access failed: #{e.message}" if defined?(Legion::Logging)
end