Files

4.9 KiB

Financial Crime

Entities

Address

An Address is the canonical record of a physical or postal location. It holds only the structured components of the location itself — no party association, no purpose, no verification metadata. Those belong on Contact Address.

Separating Address from Contact Address enables deduplication: a single Address record serves as the reference point for all parties associated with that location. This is significant in a financial crime context — when two or more unrelated parties share the same Address, that shared reference is a detectable network signal without requiring any fuzzy address matching across duplicated strings.

Address records are reference data. They are not owned by any party and must not be modified when a party changes their address — instead the party's Contact Address is closed and a new one opened referencing the correct Address record.

---
config:
  layout: elk
---
classDiagram
  class Address{
    * Address Identifier : string
    Address Type : enum~AddressType~
    Address Line 1 : string
    Address Line 2 : string
    Suburb : string
    City : string
    State Or Region : string
    Postcode : string
    Country : string
  }

  ContactAddress "0..*" --> "1" Address : references

  class AddressType["<a href='https://github.com/Semprini/md-ddl/blob/main/examples/Financial%20Crime/enums.md#address-type'>Address Type</a>"]{<<enumeration>>}

  class ContactAddress["<a href='https://github.com/Semprini/md-ddl/blob/main/examples/Financial%20Crime/entities/contact_address.md'>Contact Address</a>"]
existence: independent
mutability: reference
attributes:
  Address Identifier:
    type: string
    identifier: primary
    description: >
      Globally unique surrogate identifier for this physical location record. Immutable once assigned. Multiple parties may reference the same Address Identifier via their Contact Address records.

  Address Type:
    type: enum:Address Type
    description: >
      The structural type of the address. Determines which fields are applicable — a PO Box does not have Address Line 1 in the same sense as a street address, and an Overseas Address may not have a State Or Region.

  Address Line 1:
    type: string
    description: >
      The primary street address line, typically including street number and street name. For PO Box addresses, the PO Box number.

  Address Line 2:
    type: string
    description: >
      Secondary address line for suite, level, unit, or building name where applicable.

  Suburb:
    type: string
    description: >
      The suburb or locality component of the address. Retained as a distinct field from City to support Australian and New Zealand address formats where suburb and city are separate concepts.

  City:
    type: string
    description: >
      The city or town. For addresses in Australia and New Zealand this is typically the metropolitan area (e.g., Sydney, Auckland) where distinct from the suburb.

  State Or Region:
    type: string
    description: >
      The state, territory, or region. For Australia: NSW, VIC, QLD, etc. For New Zealand: region name. For international addresses: the equivalent administrative subdivision.

  Postcode:
    type: string
    description: >
      The postal code. Stored as a string to preserve leading zeros and support international formats.

  Country:
    type: string
    description: >
      The country in which the address is located, as an ISO 3166-1 alpha-2 country code. Mandatory for all address types.
constraints:
  Country Required:
    not_null: Country
    description: >
      Every address must have a country. Country is the minimum information
      required for jurisdiction risk assessment.

  Street Address Requires Address Line 1:
    check: >
      Address Type != 'Street Address'
      OR Address Line 1 IS NOT NULL
    description: >
      A street address must have at least Address Line 1 populated.
governance:
  pii: false
  classification: Confidential
  retention: 10 years
  retention_basis: Domain default retention aligned to AML/CTF record-keeping obligations
  description: >
    Address records must be retained for 7 years from the date the last Contact Address referencing this record is closed. Address records must not be modified or deleted — they are immutable reference data.
    Changes to an address (e.g., a street renamed) should result in a new Address record; existing Contact Address records are not retrospectively updated so that historical point-in-time queries remain accurate.
  access_role:
    - FINANCIAL_CRIME_ANALYST
    - KYC_OFFICER
    - COMPLIANCE_OFFICER
    - RELATIONSHIP_MANAGER
  compliance_relevance:
    - AUSTRAC AML/CTF Act 2006 — Part B address record-keeping
    - RBNZ AML/CFT Act 2009 — section 58

Relationships

No relationships are sourced directly from Address in the current domain model.