/ cleanups - twelve rules

Merging removes the duplicates. Cleanups fix what is left.

A number with no country code. A SHOUTING email address. A name mangled by an import in 2016. ContactOne ships twelve cleanup rules for exactly this, ten of which involve no AI at all. Each one shows you the before and after for every affected contact before a single byte changes.

Phone numbers

Rules 1 - 3

Add country code

01
PhoneOn by default

Adds your region's country code to numbers saved without one. It only rewrites a number that validates as your own region, so a foreign number stored in local format is left alone.

Was416 555 1212
Now+1 416 555 1212

Add + prefix

02
PhoneOn by default

Adds a leading “+” to numbers that already carry a country code, so they dial correctly from anywhere. It never adds a code that is not already there, which is why it cannot double-prefix.

Was1 416 555 1212
Now+1 416 555 1212

Normalize grouping

03
PhoneOn by default

Reformats numbers into your region's standard grouping, so a list of numbers reads consistently instead of six people writing it six ways.

Was+14165551212
Now+1 (416) 555-1212

Names and text

Rules 4 - 7

Make emails lowercase

04
EmailOn by default

Email is case-insensitive, so this is always safe. It also makes case-sensitive duplicate detection work properly - two spellings of one address stop looking like two addresses.

WasSarah.Chen@Work.COM
Nowsarah.chen@work.com

Make web addresses lowercase

05
WebsiteOn by default

Lowercases the site and domain. The page path is left exactly as it was, because paths genuinely are case-sensitive and rewriting one would break the link.

Washttps://Example.COM/Team
Nowhttps://example.com/Team

Fix name casing

06
NameOn by default

Repairs ALL-CAPS and all-lowercase names from old imports, while keeping the names that are meant to look unusual - McDonald, O'Brien and van Gogh come through intact.

WasNEIL mcdonald
NowNeil McDonald

Fix garbled accents

07
Name, companyOff until you enable it

Repairs text scrambled by an encoding mix-up: J√∂rn back to Jörn, Müller back to Müller. ContactOne tries several legacy encodings, scores each candidate repair and accepts only the best one, so it never trades one mangled name for another.

Read the deep dive on garbled names
WasCafé Nord
NowCafé Nord

Companies

Rules 8 - 9

Consistent company name

08
CompanyOn by default

When several contacts share a work email domain but spell the employer differently, you pick the spelling once and ContactOne applies it across the whole group.

MixedNorthwind / northwind
OneNorthwind Traders

Add company name

09
CompanyOff - offered as a recommendation

When contacts share a work email domain and none of them has a company set at all, ContactOne proposes one from the domain. You approve it before anything is written.

Emptyj@northwind.com · (no company)
ProposedNorthwind Traders

Labels

Rule 12

Label normalization

12
Any multi-value fieldRecommended

Canonicalizes equivalent labels so fields sort and read consistently, even when every connected account uses its own vocabulary for the same thing.

Threecell · cellular · móvil
Onemobile

Ten of the twelve rules use no AI at all.

The rules above are deterministic Swift. They run the same way on every supported device, and they would run the same way if Apple Intelligence did not exist. Calling that work “AI” would both overstate the model and hide the fact that it works on every phone - so in the app those rules are simply labelled Recommended.

Where a model is genuinely useful is proposing rules: noticing that seventeen of your contacts carry links to a service that shut down years ago, or that three accounts spell “mobile” three different ways. That runs on Apple's on-device system language model through the Foundation Models framework, and it proposes only - the deterministic engine still does the work, and you still approve it.

What it sees

Aggregate, de-identified signals - URL scheme prefixes with occurrence counts, thresholded so one-offs are excluded. Never a specific URL, name, number, email or note.

What it needs

iOS 26 or newer on Apple Intelligence-capable hardware. On any other device the AI section is hidden and nothing about the standard rules changes.

What keeps it honest

Output is filtered deterministically before you see it. A proposal is discarded if the service still runs, if the pattern was not observed in your own contacts, or if it is the wrong shape.

How the on-device model is used, precisely

From 1,283 to 1,085.
198 fewer to scroll past.

Download on theApp Store Free · iPhone & iPad · iOS 16+