---
id: CON-CRM-DQ-001
name: Possible Duplicate
feature: FEAT-CRM-DQ-02
product_area: crm
module: data-quality
revision: 1
status: draft
product_intent: confirmed
implementation_evidence: observed
source_sha:
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
definition: >-
  A possible duplicate connects two workspace records that may describe one person or organization, retaining
  the resemblance evidence and any review decision.
owned_by: MOD-CRM-DQ
synonyms:
  - duplicate candidate
  - duplicate pair
  - potential duplicate
not_to_be_confused_with:
  - >-
    Distinguish this from the "duplicate" contact status, which is a word staff can set on a record and which
    detection never sets
  - >-
    Distinguish this from a merge, which is what may follow a possible duplicate but is a separate, more
    privileged act
facets:
  - name: Match key
    meaning: A normalized contact detail or identity value selects records worth comparing.
    used_for: Locating plausible pairs without a workspace-wide comparison.
  - name: Score and band
    meaning: A bounded evidence score places the pair in one of four confidence ranges.
    used_for: Ranking review and applying configured confidence floors.
  - name: Reasons
    meaning: Readable evidence sentences retain point contributions while masking private values.
    used_for: Helping staff assess a match without exposing full matching details.
  - name: Origin
    meaning: 'The pair records whether detection, manual confirmation or declined registration produced it.'
    used_for: Separating computed suggestions from retained decisions.
  - name: Status and dismissal
    meaning: 'Review standing is open, dismissed or confirmed, with dismissal attribution and evidence.'
    used_for: Preserving review context and identifying genuinely new evidence.
  - name: Duplicate group
    meaning: Connected pairs of one status form a size-limited group with a stable review identity.
    used_for: Reviewing related records together and sharing a queue location.
  - name: Record type and kind of match
    meaning: Contact or organization scope and evidence patterns determine which matches a setting addresses.
    used_for: Selecting the duplicate evidence important to the workspace.
  - name: Action
    meaning: 'Review, warning and blocking determine the match response while retaining review candidates.'
    used_for: Choosing creation behavior without hiding existing suggestions.
  - name: Minimum band
    meaning: The minimum confidence band determines when the setting qualifies.
    used_for: Avoiding responses below the intended resemblance strength.
  - name: Order and switch
    meaning: Position orders evaluation and active status enables the setting.
    used_for: Resolving precedence between matching configurations.
  - name: Portal switch
    meaning: A portal-check flag is stored but currently has no registration effect.
    used_for: Retaining configuration for a future portal connection.
  - name: Create-form check
    meaning: A read-only draft check returns up to five matches meeting the settings confidence floor.
    used_for: Showing suggestions before staff create a record.
  - name: Block override record
    meaning: 'An override record retains the author, time, reason, blocking rules and bypassed matches.'
    used_for: Accounting for authorized exceptions to creation blocks.
  - name: Re-check
    meaning: A background re-check refreshes one record type with counted progress.
    used_for: Applying changed settings to existing untouched records.
relationships:
  - to: CON-CRM-ENT-001
    statement: Contact candidates name two owned contacts and cascade away when either is removed.
    provenance: observed
    source: 'services-crm:modules/duplicates/db/duplicate-candidates.table.ts:contactDuplicateCandidates'
  - to: CON-CRM-ENT-002
    statement: Organization candidates name two owned organizations and cascade away when either is removed.
    provenance: observed
    source: 'services-crm:modules/duplicates/db/duplicate-candidates.table.ts:organizationDuplicateCandidates'
  - to: CON-CRM-DQ-002
    statement: Workspace settings select the response to matching evidence and confidence.
    provenance: observed
    source: 'services-crm:modules/duplicates/services/detection/duplicate-rule-actions.ts'
  - to: CON-CRM-DQ-003
    statement: Connected suggestions commonly provide the participants for merge planning.
    provenance: documented
    source: 'services-crm:docs/merging/duplicate-detection.md#7. Merges and detection'
  - to: CON-CRM-DQ-004
    statement: >-
      Merging carries applicable outside dismissals to the survivor and removes other absorbed-record
      candidates.
    provenance: test
    source: >-
      services-crm:modules/duplicates/tests/integration/services/persistence/duplicate-candidates.integration.spec.js#carries
      the dismissals about records outside the merge and nothing else
lifecycle:
  - state: open
    meaning: The pair remains a review question.
    how_it_changes: Detection creates or reopens it and removes unqualified open detected evidence.
  - state: dismissed
    meaning: The reviewer identifies the records as different.
    how_it_changes: Manual restoration or newly strong evidence opens review again.
  - state: confirmed
    meaning: A reviewer asserts that both records represent one identity.
    how_it_changes: Confirmation establishes this decision and merging ends the pair.
acted_on_by:
  - CAP-CRM-DQ-001
  - CAP-CRM-DQ-002
  - CAP-CRM-DQ-006
  - CAP-CRM-DQ-007
  - CAP-CRM-DQ-008
  - CAP-CRM-DQ-009
  - CAP-CRM-DQ-010
  - CAP-CRM-DQ-011
  - CAP-CRM-DQ-015
  - CAP-CRM-DQ-003
  - CAP-CRM-DQ-004
  - CAP-CRM-DQ-005
visible_to:
  - ACT-CRM-008
  - ACT-CRM-009
  - ACT-CRM-005
evidence:
  - repository: services-crm
    source_sha: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
    paths:
      - docs/merging/README.md
      - docs/merging/duplicate-detection.md
      - docs/merging/experience/README.md
      - modules/duplicates/db/duplicate-candidates.table.ts
      - modules/duplicates/services/detection/duplicate-rule-actions.ts
      - modules/duplicates/tests/integration/services/persistence/duplicate-candidates.integration.spec.js
    note: >-
      Static examination uses the cited records and implementation anchors; repository tests are not executed
      by this corpus check.
supersedes:
  - CON-CRM-DQ-002
intent_sources:
  - 'services-crm:docs/merging/README.md#Status'
  - 'services-crm:docs/merging/experience/README.md#Status'
---

# Possible Duplicate

## What It Is

A possible duplicate is a question about two contacts or two organizations: do these records represent the same identity? It gives staff a concrete suggestion to investigate while leaving both records available for ordinary work. A second registration, a staff-created attendee or an integration can create the resemblance that detection finds. The pair is the unit of evidence; a group gathers connected pairs for review.

Each suggestion carries a score, a confidence band and reasons that explain the matching and conflicting information. The result also identifies how the pair arose. Computed suggestions can disappear when the resemblance no longer qualifies. Manual confirmations and declined portal suggestions retain a human decision that ordinary rescoring does not erase. A stored score is therefore evidence about resemblance, rather than a substitute for knowing the people involved.

## What It Is Not

A suggestion does not combine records, remove a person or change either record's contact status. It grants no additional merge authority. A dismissal concerns the named pair only; it does not exempt either record from comparison with everyone else. Configuration determines the response to a match, while the evidence model determines its score.

## How It Is Used

Reviewers inspect groups from Data Quality or investigate suggestions on a record page. They read the reasons, check the identity and dismiss false matches. An administrator can launch a merge plan when the records really belong together. Manual confirmation is supported by the service, although its planned console entry points remain incomplete. A shared queue address helps colleagues return to the same review location.

New strong evidence can make an earlier dismissal worth reconsidering. Reviewers then receive an explanation of the reopening rather than a silent reversal. Good review distinguishes shared household or employer details from personal identity evidence. An organization's linked address or phone does not make its employees the same person.

## Its Facets

**Match keys** are normalized details used to locate plausible comparisons. Common values can be excluded to avoid filling the queue with weak associations. **Scores and bands** express the fixed evidence model, including ceilings for contradictions. **Reasons** translate that evidence into readable sentences and mask private contact values.

**Origin** distinguishes computation from manual or portal decisions. **Status and dismissal** retain open, dismissed or confirmed standing together with the reviewer and reviewed evidence. **Groups** collect connected records by status, preserve useful identity through changes and report when their size is bounded.

**Duplicate settings** belong to this concept rather than being another product object to understand. Their record type and match pattern select the applicable evidence. Their action determines review, warning or blocking. Minimum confidence supplies a floor, position supplies precedence and active status enables evaluation. The portal switch is stored without controlling portal matching today. Draft checks expose up to five matches before creation. Override records retain the author and reason for authorized exceptions. Re-checks refresh existing evidence after a setting changes; configuration alone does not immediately reevaluate the queue.

## How It Relates

Entities owns the contacts and organizations named by a suggestion. Data Quality owns their comparison and review decisions. A duplicate group commonly starts a merge plan, but planning can also begin with manually selected records. Successful merging removes absorbed-record suggestions and carries relevant outside dismissals to the survivor.

## What It Could Become

The product should substantiate confidence bands with calibration against synthetic examples and current review decisions. Console confirmation controls and re-check management remain unfinished. Responsibility-based attention is declared but held. Completing the import-completion connection would let imports receive a deliberate final detection pass instead of current per-record processing.
