Skip to content

Selective Decryption for Specific Columns in AcraServer #727

@hsarena

Description

@hsarena

Hi Acra team,

Thanks for the great work on Acra!

I've configured an AcraServer (version 0.95.0) to encrypt specific fields in the customers table using acrablock as the crypto envelope. The backend database is MariaDB. Here is a snippet from my encryptor.yaml configuration:

database_settings:
  defaults:
    crypto_envelope: "acrablock"
schemas:
  - table: customers
    columns:
      - id
      - email
      - fullname
      - cellphone
      - created_at
      - updated_at
    encrypted:
      - column: email
        searchable: true  
      - column: fullname
        searchable: true  
      - column: cellphone
        searchable: true

Now, I want to deploy another AcraServer instance for a different team and configure it in a way that only decrypts the cellphone field — not email or fullname, as follows. However, it seems like Acra decrypts all encrypted fields by default when serving a SELECT query.

database_settings:
  defaults:
    crypto_envelope: "acrablock"
schemas:
  - table: customers
    columns:
      - id
      - email
      - fullname
      - cellphone
      - created_at
      - updated_at
    encrypted:
      - column: cellphone
        searchable: true

Acra version: 0.95.0
Database: MariaDB 11.4.3
Installed components:

  • AcraServer
  • AcraTranslator

Data-in-transit encryption between Acra and the client-side application:

  • TLS
  • AcraConnector
  • no transport encryption

Installation way:

  • via Docker
  • via package manager

❓ My Question:

Is there a way to configure Acra so that a particular AcraServer instance only decrypts specific fields (e.g., cellphone) and leaves other encrypted fields untouched in SELECT query responses?

This would be very useful for applying different decryption access policies across teams.

Thanks for any guidance or best practices!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions