Skip to main content

Version Docs Updated

Purpose

MHM Rentiva uses a multi-layer security architecture (Defense-in-Depth) to protect vendors' financial data and personal information. This page explains encryption methods, data isolation, and audit trail mechanisms.

πŸ›‘οΈ Security & Privacy Layers

Vendor data is protected by four main layers, from the database level to the application interface.


πŸ”’ 1. Financial Data Encryption (IBAN Security)​

Vendors' IBAN data is never stored as plain text in the database.

AES-256-CBC Encryption​

  • Algorithm: Industry-standard AES-256-CBC.
  • Key Management: Keys derived from WordPress AUTH_KEY and SECURE_AUTH_SALT constants.
  • Fail-Safe: If the encryption library (OpenSSL) is not available, the system returns an empty value and stops the save to prevent data leakage.
// VendorApplicationManager::encrypt_iban();
// Encrypted data is stored using base64_encode().
Critical Warning

Changing the security keys in wp-config.php renders all existing encrypted IBAN data unreadable. These keys must always be backed up.


🚦 2. High-Criticality Field Change Approval​

Changes to critical fields such as IBAN by the vendor do not take effect immediately β€” an Admin Approval Process is triggered.

IBAN Change Workflow​

  1. Request: The vendor enters a new IBAN.
  2. Temporary Storage: The new IBAN is encrypted and stored in the _mhm_rentiva_pending_iban meta field.
  3. Admin Notification: A counter badge appears in the admin panel.
  4. Approve/Reject: If the admin approves, the temporary IBAN is moved to the main IBAN field. If rejected, the temporary data is deleted and the vendor receives an email.

πŸ“ 3. Data & Media Isolation​

Vendors cannot access other users' data or media files.

  • Media Isolation: The ajax_query_attachments_args filter restricts vendors to seeing only the images they have uploaded.
  • Dashboard Isolation: The VendorOwnershipEnforcer class automatically adds a post_author filter to all database queries, preventing unauthorized access.

πŸ“ 4. Audit Trail​

All critical security events are logged via AdvancedLogger.

EventContentLevel
IBAN Change"Vendor #X requested an IBAN change."INFO
Login AttemptFailed vendor dashboard login attempts.WARNING
Payout Approval"Admin #Y approved a payout for Vendor #X."CRITICAL

Logs can be monitored from the System Logs section of the admin panel and are automatically purged based on the mhm_rentiva_log_retention_days setting.


βš™οΈ 5. Technical Security Summary​

MechanismProtection TypeDetail
Nonce (CSRF)Form SecurityUnique token for every AJAX and form operation.
CapabilityAuthorizationAccess outside the rentiva_vendor role is blocked.
MaskingPrivacyOnly the last 4 digits of IBANs are shown in the UI.

Section Summary​

  • IBAN data is stored encrypted with AES-256-CBC.
  • Critical changes are subject to admin approval.
  • Multi-layer isolation keeps vendor data separated from one another.

Changelog​

DateVersionNote
23.04.20264.27.2English translation added.
19.03.20264.21.2Data encryption, IBAN approval workflow, and media isolation details added.