Model Access Control

This workflow covers configuring which Progrid models AI Core can interact with, including setting operation permissions, field blacklists, and query limits.

Overview

AI Core uses a whitelist-based access model. By default, the AI cannot access any model unless it has been explicitly added to the model access configuration. Each entry controls which operations (read, write, create, delete) are allowed and which fields are excluded.

Required permissions

  • AI Manager or AI Admin to manage model access configurations

Add a model to the whitelist

  1. Navigate to AI Core ‣ Configuration ‣ Model Access.

  2. Click New.

  3. Select the Model from the dropdown (e.g., res.partner, crm.lead, account.move).

  4. Configure access permissions:

    • Read – AI can search and read records (default: enabled)

    • Write – AI can update existing records (default: disabled)

    • Create – AI can create new records (default: disabled)

    • Delete – AI can delete records (default: disabled)

  5. Set guardrail options:

    • Require Confirmation – Whether write operations need user approval (default: enabled)

    • Max Records Per Query – Maximum records the AI can return in a single search (default: 100, range: 1-1000)

  6. Optionally add a Field Blacklist – Comma-separated field names the AI cannot access (e.g., salary,bonus_amount,bank_account_id)

  7. Click Save.

Tip

The inline list view supports direct editing. You can quickly add multiple models and toggle permissions without opening individual forms.

Default model access

On installation, the module creates access entries for two common models:

  • Contacts (``res.partner``) – Read-only, with signup-related fields blacklisted

  • Users (``res.users``) – Read-only, with password and authentication fields blacklisted

These defaults provide a safe starting point. Add more models based on your team’s needs.

Configure field blacklists

For models containing sensitive data, use the Field Blacklist to prevent the AI from reading or writing specific fields.

To add a field blacklist:

  1. Open the model access entry.

  2. In the Field Blacklist field, enter comma-separated field names:

    salary,bonus_amount,bank_account_id,social_security
    
  3. Click Save.

The module also applies a global default blacklist to all models, automatically excluding:

  • password, password_crypt

  • api_key, api_key_ids

  • totp_secret, oauth_access_token, signup_token

  • credit_card, bank_account

These fields are excluded even if not listed in the model-specific blacklist.

Test access configuration

After configuring model access, verify the setup:

  1. Open the AI chat panel (Ctrl+Space).

  2. Try a read query: “How many contacts are in the system?”

  3. If write is enabled, try: “Create a test contact named AI Test”

  4. Verify the AI respects blacklisted fields by asking about excluded data.

  5. Check the audit log at AI Core ‣ Configuration ‣ Audit Logs to confirm actions are being logged.

Next steps