The five fields and how to store them
- provenance / source — Purpose: know where the value came from (form, import, API, manual). Suggested format: short controlled text or dropdown. Example values: `web-form`, `csv-import-2026-09`, `sales-manual`, `integrator-xyz`.
- last_verified (timestamp) — Purpose: tell whether a value is fresh enough for AI to act on. Suggested format: ISO 8601 timestamp (UTC). Example: `2026-10-15T09:22:00Z`.
- trust_score / confidence (numeric 0–100) — Purpose: a single, lightweight indicator of how much automation or AI should trust the record. Suggested format: integer 0–100. Example: `85` (high), `40` (low).
- consent / scope — Purpose: explicit permission flags for use by AI or third parties and channel scope. Suggested format: comma‑separated tokens or checkbox set. Example: `email_marketing,ai_insight` or `phone_contact`.
- do_not_automate / sensitivity flag — Purpose: prevent any automated writes or sensitive content from being included in AI outputs. Suggested format: boolean or short reason code. Example: `true` or `sensitive_vip`.
(These are platform‑neutral: add as custom properties in HubSpot, Salesforce, Marketo or Pardot or as columns in your canonical spreadsheet.)
Low‑code ways to add them without retriggering workflows and how to gate AI
Add fields first as passive properties: create new custom fields prefixed with `meta_` or `ai_` so they won’t be referenced by existing workflows. Use your CRM’s batch import with automation suppression where available, or update via scheduled API jobs that run outside business hours.
When imports or backfills are necessary, work in small batches (100–500 rows). Use a staging list/segment that excludes any workflow triggers and mark records as `provenance=csv-import-xx` and `do_not_automate=true` while backfilling. Only flip `do_not_automate` off after a quick validation pass.
Gate AI reads and outputs on concrete rules: require last_verified to be within X days and trust_score ≥ threshold before the AI may suggest changes; block any AI-generated output that references records with `do_not_automate=true` or without `consent` containing `ai_insight`. Implement gating by prefiltering the dataset you send to the AI (create a list or query that only returns records meeting the rules) and by adding post‑processing checks that redact or flag outputs when rules fail.
Simple backfill, maintenance plan and quick afternoon checks
Backfill plan (1–2 hours for a small team): export current records, add the five fields in a sheet with conservative defaults (provenance=`legacy-export`, last_verified=`1970-01-01T00:00:00Z`, trust_score=`30`, consent=`none`, do_not_automate=`true`), then re-import in small batches while suppressing automations. After import, run a verification sweep assigning owners to update `last_verified` and bump trust_score.
Maintenance: decay trust_score automatically (e.g., −10 points per 90 days without verification), make `last_verified` a KPI for owners, and add a weekly automation that flags records for human review where trust_score < 50. Keep a simple log (sheet or CRM timeline) noting who verified and why.
Afternoon checks any Fareham/Hampshire small team can run (30–90 minutes):
- Sample 100 recent leads and confirm each has provenance and last_verified; correct obvious misses.
- Filter records where trust_score < 50 and `do_not_automate=false`; pick 10 to verify and adjust score rules.
- Run an AI in audit‑only mode using only records that meet your gates to confirm it stays silent on `do_not_automate` and redacts where `consent` is missing.
- Test one small backfill batch with automations suppressed, then flip `do_not_automate` for the tested group.
If you want hands‑on CRM optimisation in Fareham, see CRM optimisation in Fareham. If you'd prefer a practical hand to add these fields and the simple gates without breaking workflows, Optira can help run the first afternoon of checks and a safe backfill.