Skip to content

Security

Configure security policies, monitor audit logs, and manage security-related settings in SPEAR.


🖥️ Security Dashboard Screenshot

Access the security dashboard at Admin > Security for:

  • Security event summary
  • Recent authentication activity
  • Active session count
  • Security alert status

🖥️ Audit Log Viewer Screenshot

SPEAR maintains comprehensive audit logs for security-relevant events:

CategoryEvents
AuthenticationLogin, logout, failed attempts, password changes
AuthorizationPermission changes, role assignments
Data AccessReport exports, portal access, data downloads
AdministrationUser creation, settings changes, backup operations
SecuritySession terminations, API key operations

Each audit entry includes:

FieldDescription
TimestampWhen the event occurred
UserUser who performed the action
ActionWhat action was performed
ResourceWhat was affected
IP AddressSource IP address
User AgentBrowser/client information
DetailsAdditional context
  1. Navigate to Admin > Security > Audit Log
  2. Use filters:
    • Date range
    • User
    • Action type
    • Resource type
  3. Click entries for details
  4. Export for analysis
SettingDefaultRange
Retention Period365 days90-730 days
Archive DestinationLocalLocal/S3

Configure at Admin > Security > Audit Settings.


🖥️ Active Sessions Management Screenshot

View and manage all active sessions:

  1. Navigate to Admin > Security > Sessions
  2. View session list with:
    • User
    • IP Address
    • Device/Browser
    • Last Activity
    • Session Start
ActionEffect
View DetailsSee full session information
RevokeEnd the session immediately
Revoke All (User)End all sessions for a user
Revoke All (System)End all sessions (emergency)

Configure session behavior:

PolicyDescriptionDefault
Session TimeoutInactive timeout24 hours
Absolute TimeoutMaximum session duration7 days
Concurrent SessionsMax sessions per userUnlimited
IP BindingLock session to IPDisabled

SPEAR verifies permissions at multiple levels:

flowchart TD
    A[Request] --> B{Authenticated?}
    B -->|No| C[401 Unauthorized]
    B -->|Yes| D{Has Permission?}
    D -->|No| E[403 Forbidden]
    D -->|Yes| F{Resource Access?}
    F -->|No| G[404 Not Found]
    F -->|Yes| H[Process Request]
ProtectionDescription
Bearer TokenToken-based authentication
Rate LimitingRequest throttling
CORSCross-origin restrictions
Input ValidationRequest sanitization

SPEAR prevents privilege escalation:

  • Users cannot create users with higher privileges
  • Users cannot modify their own permission level
  • Group role assignments validated against modifier’s level

🖥️ Security Alerts Configuration Screenshot
AlertTriggerSeverity
Failed LoginsMultiple failures from same IPMedium
Unusual AccessAccess from new location/deviceLow
Permission ChangeAdmin permission grantedHigh
Data ExportBulk data exportMedium
Session AnomalyMultiple concurrent sessionsLow
  1. Navigate to Admin > Security > Alerts
  2. Enable/disable alert types
  3. Set thresholds:
    • Failed login attempts
    • Time windows
    • Geographic sensitivity
  4. Configure notifications

For triggered alerts:

  1. Review alert details
  2. Investigate the activity
  3. Take action if needed:
    • Lock user account
    • Revoke sessions
    • Block IP address
  4. Mark as resolved

Restrict access to specific IPs:

  1. Navigate to Admin > Security > IP Rules
  2. Click Add Allowlist Entry
  3. Enter IP or CIDR range
  4. Add description
  5. Enable allowlist mode

Block malicious IPs:

  1. Navigate to Admin > Security > IP Rules
  2. Click Add Blocklist Entry
  3. Enter IP or CIDR range
  4. Add reason
  5. Save

Configure automatic IP blocking:

SettingDescription
Failed Login ThresholdBlock after X failures
Block DurationHow long to block
WhitelistIPs exempt from blocking

SPEAR encrypts sensitive data:

Data TypeEncryption
Passwordsbcrypt hashing
Sensitive FieldsAES-256 (using SPEAR_ENCRYPTION_KEY)
Session TokensCryptographically random
API TokensSecure random generation
ControlImplementation
Row-Level SecurityPocketBase rules
Field-Level AccessSchema permissions
Export ControlsPermission-based

SPEAR applies security headers:

HeaderValuePurpose
X-Content-Type-OptionsnosniffPrevent MIME sniffing
X-Frame-OptionsDENYPrevent clickjacking
X-XSS-Protection1; mode=blockXSS filter
Strict-Transport-Securitymax-age=31536000Force HTTPS
Content-Security-PolicyConfiguredScript/style restrictions

Configure Content Security Policy:

  1. Navigate to Admin > Security > Headers
  2. Modify CSP directives
  3. Test in report-only mode
  4. Enable enforcement

Report security vulnerabilities:

  1. Email: security@mwgroup.io
  2. Include:
    • Description of vulnerability
    • Steps to reproduce
    • Potential impact
    • Your contact information

SPEAR follows responsible disclosure:

  1. Report received and acknowledged
  2. Issue investigated and verified
  3. Fix developed and tested
  4. Update released
  5. Credit given (if desired)

  • Set strong SPEAR_ENCRYPTION_KEY
  • Enable HTTPS (Traefik SSL)
  • Create admin account with strong password
  • Configure session timeout
  • Set up backup encryption
  • Review audit logs weekly
  • Monitor security alerts
  • Update to latest version
  • Review user permissions quarterly
  • Test backup restoration
  • Rotate API keys annually
  • Enable IP allowlist (if applicable)
  • Configure failed login blocking
  • Set strict session policies
  • Enable MFA (when available)
  • Review CSP configuration

SPEAR supports compliance requirements:

RequirementSupport
Audit LoggingComprehensive event logging
Access ControlRBAC with granular permissions
Data EncryptionAt-rest and in-transit
Data RetentionConfigurable retention periods
Data ExportFull data export capability

Generate compliance reports:

  1. Navigate to Admin > Security > Reports
  2. Select report type:
    • Access Report
    • Audit Summary
    • Permission Matrix
  3. Set date range
  4. Generate and download

  1. Check audit log for failed attempts
  2. Clear blocklist entry if IP blocked
  3. Reset password if needed
  4. Investigate source of failed attempts
  1. Verify user’s group membership
  2. Check group’s assigned roles
  3. Review permission level requirements
  4. Check audit log for changes
  1. Check session timeout settings
  2. Verify secure cookie settings
  3. Check for IP changes (VPN)
  4. Clear browser cookies and retry