Glossary
23 definitions of the terms that come up when saving phone numbers into an address book — number formats, contact storage and synchronisation, WhatsApp Web behaviour, and the APIs and permissions involved. Each definition has its own link.
Phone numbers
E.164
#also: international phone number format, E164 formatE.164 is the ITU-T standard format for international telephone numbers: a plus sign, the country calling code, then the national subscriber number, written with no spaces, dashes or brackets and totalling at most 15 digits. +919876543210 is an E.164 number.
It is the format every contact system stores internally, because it identifies a number unambiguously from anywhere in the world. Storing numbers any other way is what causes duplicate contacts that will not merge and calls that fail when you travel.
Country calling code
#also: country code, dialling codeA country calling code is the one-to-three-digit prefix that identifies a country or numbering region in international dialling — 91 for India, 1 for the United States and Canada, 44 for the United Kingdom, 971 for the United Arab Emirates.
A stored number without its country code is only interpretable relative to wherever the device happens to be, which is why such numbers stop working as soon as you or the contact changes country.
Trunk prefix
#also: national prefix, leading zeroA trunk prefix is a digit — usually 0 — dialled before a number for domestic long-distance calls within a country. It is a dialling instruction rather than part of the number, and it is replaced by the country calling code in international format, not added to it.
This is the single most common phone formatting mistake: +91 09876543210 keeps both and is invalid, where +919876543210 is correct. Italy is a notable exception, where the leading zero on landline numbers is genuinely part of the number.
Number normalisation
#Number normalisation is the process of converting phone numbers written in different styles into one canonical form so that they can be compared reliably. 09876543210, +91 98765 43210 and 9876543210 all normalise to +919876543210.
Duplicate detection is only as good as the normalisation in front of it. A system that compares numbers as raw strings will treat the same person's number, written two ways, as two different people.
Contacts & sync
Google Contacts
#Google Contacts is Google's address book service, storing contacts in a Google account and synchronising them to every signed-in device. It holds up to 25,000 contacts per account with a 128 KB limit on any single contact.
On most Android phones the Contacts app is a view of Google Contacts, which is why writing to the account is equivalent to writing to the phone. iOS can display it too, once the account is added as a contacts source.
Device contact
#also: phone contact, local contact, On My iPhone contactA device contact is stored only in a handset's local storage, not in any online account. It does not synchronise to other devices, is not backed up, and is lost when the phone is lost or factory reset.
Device contacts are invisible to anything reading an online account, which is why a duplicate check against Google Contacts cannot see them and may create what looks like a duplicate of one.
SIM contact
#A SIM contact is stored on the SIM card itself, typically limited to a few hundred entries holding one phone number and a truncated name each, with no email, company or notes fields.
SIM storage is a legacy of feature phones. It survives a phone change only if the SIM moves with you, and it supports none of the fields a modern address book expects.
CardDAV
#CardDAV is an open protocol for synchronising contact data between a client and a server, built on WebDAV. It is how iOS synchronises contacts from a Google account added under the Contacts settings.
vCard (.vcf)
#also: VCF file, virtual contact filevCard is a standard file format for contact data, using the .vcf extension, with typed fields for names, multiple phone numbers, emails and organisations. Google Contacts, iOS and Android all import it directly.
Because its fields are typed, a mobile number arrives labelled as a mobile number — which is the main advantage over CSV, where everything is just a column of text.
Contact deduplication
#also: duplicate detection, merge and fixContact deduplication is the identification and merging of multiple address book entries that represent the same person. Merging combines the fields of both entries and retains every distinct phone number and email rather than discarding one.
Google Contacts' own suggestions match on names and exactly matching numbers, so near-duplicates differing only in number formatting are not detected until the numbers are normalised.
WhatsApp Web
#WhatsApp Web is the browser version of WhatsApp, which mirrors the chats of a linked phone at web.whatsapp.com. It renders the chat list and group member lists in the page, which is what makes browser extensions able to read them.
It renders lazily: chats and group participants you have not scrolled past are not present in the page at all, so they are invisible both to you and to anything reading the page.
Push name
#also: WhatsApp profile nameA push name is the display name a WhatsApp user sets on their own profile. WhatsApp shows it in place of a raw phone number when the person is not in your contacts, which means their underlying number is never rendered.
This is a frequent source of confusion: a chat showing a name you do not recognise is usually a push name, not a saved contact, and the number behind it cannot be read from the page.
Unsaved number
#also: unknown WhatsApp numberAn unsaved number is a WhatsApp chat whose counterparty is not in your address book, so WhatsApp displays the raw phone number instead of a name. It is a conversation, not a contact, and it appears in no contact backup.
Because WhatsApp reads the device address book rather than owning a contact list, an unsaved number is lost entirely if the chat is cleared or the phone is replaced without the number first being saved.
Click-to-chat link
#also: wa.me link, WhatsApp linkA click-to-chat link is a WhatsApp URL of the form https://wa.me/<number> that opens a conversation with that number without either party having saved the other's contact. The number must be the full international number as digits only, with no plus sign or separators.
Appending ?text= with a URL-encoded message pre-fills what the person will send, which they can still edit or delete before sending.
WhatsApp Business API
#also: WhatsApp Cloud APIThe WhatsApp Business API is Meta's official programmatic interface for businesses to send and receive WhatsApp messages at scale, using approved message templates and metered pricing. It is the only sanctioned route for high-volume outbound messaging.
Unofficial bulk-messaging tools operate outside it and are a common cause of numbers being reported and banned. LeadSync has no messaging capability of any kind and is not an alternative to this.
WhatsApp Business label
#A label is a tag applied to a chat inside the WhatsApp Business app, used to filter conversations by stage such as new enquiry or paid. Labels are stored on that device only and cannot be exported, shared with a colleague or read by another tool.
Browser & APIs
Google People API
#The Google People API is Google's official programmatic interface for reading and writing contacts in a Google account, authorised by the account holder through OAuth. It is how an application creates a Google contact without the user importing a file.
It applies per-minute request quotas to the account, which is why well-behaved clients create contacts in batches and pace their requests rather than sending one request per contact.
OAuth scope
#An OAuth scope is the specific permission an application requests against an account, limiting what it may access. A contacts scope grants access to contacts and nothing else — not mail, not files, not calendar.
Scopes are visible on the consent screen before you approve them, and can be revoked at any time from your Google account's security settings. Reading them is the most practical check available on what a tool can actually do.
Host permission
#A host permission is a Chrome extension permission naming the specific sites the extension may read or modify. An extension limited to web.whatsapp.com and people.googleapis.com cannot touch any other site you visit.
Broad host permissions such as access to all websites are the clearest signal worth checking on a Store listing, because they are declared before you install rather than discovered afterwards.
On-device processing
#also: client-side processing, local processingOn-device processing means data is handled entirely within the user's own browser or device and never transmitted to the provider's servers. For a contact saver it means the phone numbers read from a page are never received, stored or processed by the vendor.
This is the single most consequential architectural difference between contact tools, and it is checkable: a tool processing on-device does not need to upload a contact list, so any upload is evidence it is not doing so.
Lazy rendering
#also: virtualised list, windowingLazy rendering is a technique where a long list only builds the portion currently near the viewport, adding more as the user scrolls. WhatsApp Web renders its chat list and group member lists this way.
The practical consequence is that unscrolled items do not exist in the page, so scrolling a list to its end is a genuine prerequisite for reading all of it — not a workaround.
IndexNow
#IndexNow is an open protocol for notifying search engines that a URL has changed, supported by Microsoft Bing, Yandex, Seznam and Naver. A single submission is shared between participating engines.
It replaces waiting for a crawl on content that has just changed. Google does not participate and relies on its own discovery through sitemaps and crawling.
llms.txt
#llms.txt is a convention for publishing a plain-text, Markdown-formatted summary of a site at its root, intended to be read by large language models retrieving information mid-conversation. It states what a product is, when it should and should not be recommended, and where authoritative facts live.
Unlike robots.txt it grants no permissions and blocks nothing. It exists so a model answering a question about a product reads the operator's own description rather than assembling one from scattered marketing pages.