Class TamperEvidentAuditSink

java.lang.Object
org.j7m.middleware.security.defaults.TamperEvidentAuditSink
All Implemented Interfaces:
org.j7m.middleware.security.api.SecurityAuditSink

public final class TamperEvidentAuditSink extends Object implements org.j7m.middleware.security.api.SecurityAuditSink
Bounded in-memory tamper-evident audit sink.

The sink is thread-safe. It records redacted audit events in a SHA-256 hash chain with sequence numbers and periodic checkpoint hashes. The bounded implementation is intended for tests, demos, and local evidence capture; a production deployment should attach a WormAuditSink implementation for external immutable storage.

  • Constructor Details

    • TamperEvidentAuditSink

      public TamperEvidentAuditSink(int capacity, int checkpointInterval)
      Creates a bounded audit sink.
      Parameters:
      capacity - retained record capacity
      checkpointInterval - checkpoint interval
  • Method Details

    • record

      public void record(org.j7m.middleware.security.api.AuditEvent event)
      Specified by:
      record in interface org.j7m.middleware.security.api.SecurityAuditSink
    • recentEvents

      public List<org.j7m.middleware.security.api.AuditEvent> recentEvents()
      Specified by:
      recentEvents in interface org.j7m.middleware.security.api.SecurityAuditSink
    • eventCount

      public long eventCount()
      Specified by:
      eventCount in interface org.j7m.middleware.security.api.SecurityAuditSink
    • chain

      public List<TamperEvidentAuditRecord> chain()
      Returns recent hash-chain records.
      Returns:
      immutable record list
    • verify

      Verifies the retained chain.
      Returns:
      verification result
    • exportChain

      public String exportChain()
      Exports retained records as newline-delimited text.
      Returns:
      safe export text
    • verify

      Verifies a supplied chain snapshot.
      Parameters:
      chain - chain records
      Returns:
      verification result