Skip to content

Document hashed identifiers and normalization - #78

Merged
jrosendahl-opt merged 3 commits into
masterfrom
docs/hashed-identifiers
Oct 29, 2026
Merged

jrosendahl-opt merged 3 commits into
masterfrom
docs/hashed-identifiers

Conversation

@jrosendahl-opt

@jrosendahl-opt jrosendahl-opt commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

This is a docs only PR

Neither usage guide mentions the already-hashed identifier types (.hem / .hashedPhoneNumber, and in Objective-C OptableSDKIdentifierType_HEM / _HashedPhoneNumber), so integrators who already have hashed values from their backend don't know how to send them without the SDK hashing them again.

The guides also don't say how values are normalized before hashing. The SDK only removes whitespace and lowercases (OptableIdentifierEncoder.swift). It does not convert phone numbers to E.164, so "+1 555-123-4567" and "+15551234567" hash differently and may not match the identifiers in the DCN.

Part of a series of small PRs bringing the README, guides and demo apps back in line with the code (follows #74–#77).

Explain that email and phone values are only whitespace-stripped and
lowercased before hashing (no E.164 conversion), and document passing
pre-hashed values with .hem/.hashedPhoneNumber (ObjC _HEM and
_HashedPhoneNumber), including validation and the double-hash pitfall.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jrosendahl-opt
jrosendahl-opt requested review from a team as code owners October 28, 2026 15:29
Use the same subsections and wording as the Swift guide, adapted to
Objective-C names, so both guides describe normalization and
already-hashed identifiers identically.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jrosendahl-opt
jrosendahl-opt merged commit e5d7d73 into master Oct 29, 2026
4 checks passed
@jrosendahl-opt
jrosendahl-opt deleted the docs/hashed-identifiers branch October 29, 2026 21:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants