የSmartERP መመሪያ የAshewa Technology Solutions መድረክ
ይህ ገጽ ገና ወደ አማርኛ አልተተረጎመም። የእንግሊዝኛው ጽሑፍ ቀርቧል።

Field-Level Encryption and Sensitive PII Protection

Encrypting confidential payroll, bank, and medical data at rest using AES-GCM, PII tokenization, and dynamic field masking.

1. Overview & Business Value#

This comprehensive operational guide details the architecture, business workflows, configuration parameters, and execution steps for Field-Level Encryption and Sensitive PII Protection within SmartERP.

To comply with national data protection regulations, sensitive Personally Identifiable Information (PII) is encrypted at rest in the PostgreSQL database using AES-256-GCM.

Encrypted Fields#

  • Employee National ID & Passport numbers.
  • Employee statutory TIN and POESSA pension account codes.
  • Patient medical diagnoses and clinical SOAP notes.
  • Bank account numbers and payment card verification tokens.

{screenshot:field-level-encryption-and-pii-masking-overview-dashboard}

2. Prerequisites & Security Access Groups#

  • Required Modules: base, web, smarterp_security
  • Security Groups:
    • Enterprise Security Officer (Technical ID: base.group_user)
    • Security Administrator (Technical ID: base.group_system)
  • Master Data Dependencies: Established security group hierarchy, defined multi-company boundaries, and configured access control lists (ir.model.access.csv).

3. Step-by-Step Configuration & Execution#

Step 1: Navigating to the Module Interface#

  1. Log into your SmartERP instance at https://smarterp.et/odoo.
  2. Open the main App Switcher (grid icon in the top-left corner).
  3. Select the Settings app icon.
  4. From the top navigation bar, open Users & Companies → Users / Groups / Record Rules.

{screenshot:field-level-encryption-and-pii-masking-app-switcher-navigation}

Step 2: Creating and Parameterizing Records#

  1. Click the New button in the top-left control panel.
  2. Complete the mandatory fields in the security form:
    • Rule Name (Mandatory): Descriptive identifier for security rule.
    • Target Model (Mandatory): Underlying data model subject to access control.
    • Domain Filter (Mandatory): Logical Python domain expression enforcing row-level restriction.
  3. Configure optional parameters: group assignment, global rule flags, and active state.

{screenshot:field-level-encryption-and-pii-masking-record-creation-form}

Step 3: Validating and Processing Transactions#

  • Execution & Validation: Switch user context to test persona and verify query behavior.
  • Log Verification: Confirm that restricted records are omitted from list and search views.

{screenshot:field-level-encryption-and-pii-masking-transaction-processing-state}

4. Advanced Configuration Points#

  • Automated Actions & Scheduled Tasks (Crons):
    • Security: Audit log archival (base.ir_cron_audit_archive)
    • Security: Expire dormant sessions (base.ir_cron_session_expire)
  • Custom Print Templates & Reports:
    • Role-Based Access Control (RBAC) Security Matrix
    • System Security & User Activity Audit Dossier
  • Multi-Company Rules: Record-level security isolation under Company 1 (Ashewa Technology Solutions S.C.).

5. Comprehensive Troubleshooting Matrix#

Error Symptom / ExceptionProbable Root CauseCorrective Action / Resolution
Access Rights Error: Operation not allowedUser lacks required CRUD permission in ir.model.access.csv.Assign user to the corresponding operational security group under Settings → Users.
Record Rule Access Denied: Document outside company boundaryTarget record belongs to a company excluded by user profile.Add company to Allowed Companies or switch active company selector.
Two-Factor Authentication LockoutUser lost mobile 2FA device or time drift occurred.Reset user TOTP secret under User Preferences using administrator credentials.
መጨረሻ የተሻሻለው: 2026-10-30