security

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2026 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SanitizeLog

func SanitizeLog(message string) string

SanitizeLog sanitizes a log message, removing sensitive information.

Types

type SafeLogger

type SafeLogger struct {
	// contains filtered or unexported fields
}

SafeLogger wraps a logging function to automatically sanitize messages.

func NewSafeLogger

func NewSafeLogger(underlying func(string)) *SafeLogger

NewSafeLogger creates a new safe logger.

func (*SafeLogger) Log

func (l *SafeLogger) Log(message string)

Log logs a message with sensitive information sanitized.

func (*SafeLogger) Logf

func (l *SafeLogger) Logf(format string, args ...interface{})

Logf logs a formatted message with sensitive information sanitized.

type SanitizeOptions

type SanitizeOptions struct {
	// KeepLength preserves the original string length
	KeepLength bool
	// MaskChar is the character used for masking
	MaskChar rune
	// PreserveLengthFor keeps the specified length from beginning/end
	PreserveLengthFor map[SensitiveFieldType]int
}

SanitizeOptions controls sanitization behavior.

func DefaultSanitizeOptions

func DefaultSanitizeOptions() SanitizeOptions

DefaultSanitizeOptions returns default sanitization options.

type Sanitizer

type Sanitizer struct {
	// contains filtered or unexported fields
}

Sanitizer handles sensitive information redaction.

func NewSanitizer

func NewSanitizer() *Sanitizer

NewSanitizer creates a new sanitizer with default patterns.

func NewSanitizerWithOptions

func NewSanitizerWithOptions(options SanitizeOptions) *Sanitizer

NewSanitizerWithOptions creates a new sanitizer with custom options.

func (*Sanitizer) Sanitize

func (s *Sanitizer) Sanitize(input string) string

Sanitize removes sensitive information from the input string.

func (*Sanitizer) SanitizeJSON

func (s *Sanitizer) SanitizeJSON(jsonStr string) string

SanitizeJSON sanitizes a JSON string, preserving structure.

type SensitiveFieldType

type SensitiveFieldType string

SensitiveFieldType represents different types of sensitive fields.

const (
	// SensitiveFieldTypeAPIKey represents API keys
	SensitiveFieldTypeAPIKey SensitiveFieldType = "api_key"
	// SensitiveFieldTypePassword represents passwords
	SensitiveFieldTypePassword SensitiveFieldType = "password"
	// SensitiveFieldTypeToken represents tokens
	SensitiveFieldTypeToken SensitiveFieldType = "token"
	// SensitiveFieldTypeSecret represents secrets
	SensitiveFieldTypeSecret SensitiveFieldType = "secret"
	// SensitiveFieldTypeEmail represents email addresses
	SensitiveFieldTypeEmail SensitiveFieldType = "email"
	// SensitiveFieldTypePhone represents phone numbers
	SensitiveFieldTypePhone SensitiveFieldType = "phone"
	// SensitiveFieldTypeSSN represents social security numbers
	SensitiveFieldTypeSSN SensitiveFieldType = "ssn"
	// SensitiveFieldTypeCreditCard represents credit card numbers
	SensitiveFieldTypeCreditCard SensitiveFieldType = "credit_card"
	// SensitiveFieldTypePersonalInfo represents personal information
	SensitiveFieldTypePersonalInfo SensitiveFieldType = "personal_info"
)

type SensitivePattern

type SensitivePattern struct {
	Type        SensitiveFieldType
	Pattern     *regexp.Regexp
	MaskFunc    func(string) string
	Description string
}

SensitivePattern defines a pattern for detecting sensitive information.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL