Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SanitizeLog ¶
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) SanitizeJSON ¶
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.