Replace or upsert the caller's organization known-address list from a self-service upload. The uploader hashes each address on-device (see libs/data-access-base/src/addressHashUtils.ts) and sends only {identifier, entry_type, level, hash} rows — raw addresses never leave the browser. Each address expands into one row per match level (exact / building / street) sharing an identifier. Re-uploading an identifier replaces its whole level set (a changed address that now yields fewer levels leaves no stale level row); when replace is true, addresses whose identifier is absent from the upload are also deleted so the stored list matches the file exactly. upserted / deleted count distinct addresses (identifiers), not the larger per-level row count. Admin/manager + activity-tracking flag gated; scoped to the caller's organization.