# Nigeria phone numbers: format, mobile prefixes, validation and messaging rules

> Nigerian numbers: the +234 format, the 070, 080, 081, 090 and 091 mobile prefixes, tested validation code, 48-hour porting, NCC's DND 2442 and NIN-SIM rules.

Canonical: https://mobilevalidate.com/blog/nigeria-phone-number-format · Last updated: 2026-11-03

![A +234 chip over an abstract honeycomb of hexagon cells, a matrix of 07, 08 and 09 blocks with 070 to 072, 080, 081, 090 and 091 raised, a switched-on toggle with the code 2442, and an ID card beside a 48H port.](https://mobilevalidate.com/images/blog/nigeria-phone-number-format.svg)

*Nigerian mobiles sit in seven two-digit blocks, and 2442 is where subscribers turn promotions off.*


By MobileValidate team (https://mobilevalidate.com/about) · Published: 2026-11-03 · Category: Guides · Tags: Nigeria, Phone validation, E.164, MNP, SMS, Compliance

Nigerian numbers use the country code +234. Mobile numbers have 10 digits after the code and start with 70, 71, 72, 80, 81, 90 or 91 (0803… when dialled at home); in E.164 they look like +234 803 XXX XXXX. Because subscribers can port their number to another operator within 48 hours, the prefix doesn't tell you the current network, and promotional texts must respect the Do-Not-Disturb choices people register through the short code 2442.

This guide is part of our [phone numbers by country](/blog/phone-numbers-by-country) series. The tables are generated from libphonenumber's metadata, our [MNP atlas](/datasets/mnp-atlas-2026) and our public catalog. Example numbers are masked with X. We read the Nigerian Communications Commission's (NCC) documents on its own site on 2026-09-27, and one 2024 press statement that is no longer online through an Internet Archive copy. This is a summary, not legal advice.

## What does a Nigerian phone number look like?

A mobile number is `080X XXX XXXX` at home: the trunk prefix `0`, a three-digit code such as `803`, and seven digits. From abroad it is `+234 80X XXX XXXX`. Landlines also have 10 digits after `+234`, starting with an area code.

<!-- country-data:NG:format:start -->
<!-- generated by apps/web/scripts/gen-country-guide-data.mjs (libphonenumber metadata 9.0.39 via libphonenumber-js 1.13.13); edit the script, not this table -->

| Item | Value |
|---|---|
| Country calling code | `+234` |
| International call prefix (dialling out) | `009` |
| Trunk prefix (dialling at home) | `0` |
| Mobile: digits after +234 | 10 |
| Fixed line: digits after +234 | 10 |
| Toll-free: digits after +234 | 10–14 |
| Universal access (UAN): digits after +234 | 10–14 |
| Mobile, national format (masked) | `080X XXX XXXX` |
| Mobile, international (masked) | `+234 80X XXX XXXX` |
| Mobile, E.164 (masked) | `+23480XXXXXXXX` |
| Fixed line, national format (masked) | `020X XXX XXXX` |
| Fixed line, international (masked) | `+234 20X XXX XXXX` |
| Fixed line, E.164 (masked) | `+23420XXXXXXXX` |
<!-- country-data:NG:format:end -->

Note the international prefix: in Nigeria you dial out with `009`, not `00`. That matters for validation, as row 3 of the test table below shows. Store only the E.164 form (`+234…`).

## Which prefixes are mobile numbers?

The generator counted every 10-digit number that libphonenumber's mobile pattern for `NG` accepts, block by block:

<!-- country-data:NG:prefixes:start -->
<!-- generated by apps/web/scripts/gen-country-guide-data.mjs (exact count over the mobile pattern, libphonenumber metadata 9.0.39); edit the script, not this table -->

| National prefix | International | Share of the block that is mobile (10-digit numbers) | 3-digit sub-blocks that aren't fully mobile |
|---|---|---|---|
| `070` | `+234 70` | 89.0% | not mobile: 0700; partly mobile: 0702 (90.0%) |
| `071` | `+234 71` | 100% | — |
| `072` | `+234 72` | 100% | — |
| `080` | `+234 80` | 90.0% | not mobile: 0800 |
| `081` | `+234 81` | 92.0% | partly mobile: 0819 (20.0%) |
| `090` | `+234 90` | 90.0% | not mobile: 0900 |
| `091` | `+234 91` | 60.0% | not mobile: 0910, 0917–0919 |
<!-- country-data:NG:prefixes:end -->

In short: `071`, `072` and almost all of `070`, `080`, `081`, `090` and `091` are mobile. `0700` and `0800` are not; NCC's table shares both among value-added service and special number service licensees, and libphonenumber types `0800` numbers as toll-free. The `071` and `072` blocks are the newest: NCC notified them to the ITU as mobile virtual network operator (MVNO) ranges ([NCC notification](https://ncc.gov.ng/media/1063/view)).

### 070, 080, 081, 090 and 091 by operator

NCC publishes which operator each block was allocated to, in its [mobile number allocation table](https://ncc.gov.ng/operators/mobile-number-allocation-table) (as at December 2023). Two warnings before you use it:

- **It shows the original operator, not today's network.** Porting moves numbers between operators, and the table doesn't follow them.
- **It and the metadata disagree in places.** The table marks `0709` as withdrawn and doesn't list `0914`, but libphonenumber accepts both as mobile. A library says a number *can* exist; only a network lookup says it's in service.

## How do I validate a Nigerian number in code?

Use a libphonenumber port with full metadata and the default region `NG`. One Nigerian detail: because the national international prefix is `009`, the library doesn't strip a leading `00`. Customers abroad often type `00234…`, so turn that into `+234…` first.

**JavaScript** (`npm install libphonenumber-js`):

```js
import { parsePhoneNumberFromString } from "libphonenumber-js/max";

/** "0803 …", "+234 803 …", "00234 803 …" → E.164 for a Nigerian mobile, or null. */
export function normalizeNg(raw) {
  // Nigeria's international prefix is 009, so the library won't strip "00" by itself.
  const input = String(raw).trim().replace(/^00(?=\s*234)/, "+");
  const phone = parsePhoneNumberFromString(input, "NG");
  return phone?.isValid() && phone.country === "NG" && phone.getType() === "MOBILE" ? phone.number : null;
}
```

**Python** (`pip install phonenumbers`):

```python
import re

import phonenumbers
from phonenumbers import NumberParseException, PhoneNumberFormat, PhoneNumberType


def normalize_ng(raw: str) -> str | None:
    """E.164 for a Nigerian mobile, or None."""
    raw = re.sub(r"^00(?=\s*234)", "+", raw.strip())  # the library expects 009, Nigeria's own prefix
    try:
        n = phonenumbers.parse(raw, "NG")
    except NumberParseException:
        return None
    if (not phonenumbers.is_valid_number(n) or phonenumbers.region_code_for_number(n) != "NG"
            or phonenumbers.number_type(n) != PhoneNumberType.MOBILE):
        return None
    return phonenumbers.format_number(n, PhoneNumberFormat.E164)
```

We ran both on 2026-09-27 (libphonenumber-js 1.13.13 with metadata 9.0.39, Python phonenumbers 9.0.40). Both returned an E.164 number for rows 1 to 5 below, including row 3 thanks to the `00` rewrite, and nothing for the rest. The last column is the bare library, without the rewrite. The shape regex column tests the pattern most tutorials give:

<!-- country-data:NG:tests:start -->
<!-- generated by apps/web/scripts/gen-country-guide-data.mjs (libphonenumber-js 1.13.13, region NG); edit the script, not this table -->

| # | Case | Input (masked) | Shape regex `^(?:\+234\|00234\|0)?[7-9]\d{9}$` | libphonenumber (`NG`) |
|---|---|---|---|---|
| 1 | National, with trunk prefix | `080X XXX XXXX` | passes | valid, `MOBILE` |
| 2 | International, with spaces | `+234 80X XXX XXXX` | passes | valid, `MOBILE` |
| 3 | International dialling prefix 00 | `00234 80X XXX XXXX` | passes | invalid |
| 4 | E.164 | `+23480XXXXXXXX` | passes | valid, `MOBILE` |
| 5 | Dashes and brackets | `(080X) XXX-XXXX` | passes | valid, `MOBILE` |
| 6 | One digit short | `080XXXXXXX` | fails | invalid |
| 7 | One digit too many | `080XXXXXXXXX` | fails | invalid |
| 8 | Mobile shape, unused block 073 | `073XXXXXXXX` | passes | invalid |
| 9 | Fixed line | `020X XXX XXXX` | fails | valid, `FIXED_LINE` |
| 10 | Toll-free range | `0800 XXXXX XXXXXX` | fails | valid, `TOLL_FREE` |
<!-- country-data:NG:tests:end -->

Two rows matter. Row 3 is valid input that the bare library rejects, which is why the functions above rewrite `00234`. Row 8 is the regex's blind spot: `073` has the right shape, but nothing is allocated there. More languages are in our [Python](/blog/phone-number-validation-python) and [JavaScript](/blog/phone-number-validation-javascript) guides.

## Does number portability change the carrier?

Yes. Nigeria's porting rules are the Mobile Number Portability Regulations, 2014 (S.I. No. 28 of 2014, gazetted on 28 July 2014) ([NCC](https://ncc.gov.ng/media/1121/view)), and the industry's business rules, first issued in March 2012 and last amended in December 2020 (version 5.0). Under those rules, prepaid numbers and single-account postpaid numbers are ported within 48 hours, and multi-line postpaid accounts within five calendar days ([MNP business rules](https://ncc.gov.ng/media/246/view)). The Nigeria row of our MNP atlas:

<!-- country-data:NG:mnp:start -->
<!-- generated by apps/web/scripts/gen-country-guide-data.mjs (row from content/datasets/mnp-atlas-2026); edit the script, not this table -->

| Item | Value |
|---|---|
| Mobile number portability | Yes |
| Mobile porting since | not verified |
| Maximum porting time | 48 hours |
| Governing rule | NCC Regulations on Mobile Number Portability; MNP Business Rules |
| Published porting volume | none published |
| Source | [ncc.gov.ng](https://www.ncc.gov.ng/accessible/documents/359-faqs-on-mobile-number-portabilty-mnp/file), [ncc.gov.ng](https://ncc.gov.ng/accessible/documents/560-regulations-on-mobile-number-portability/file) |
| Checked | 2026-09-25 |
<!-- country-data:NG:mnp:end -->

NCC's 2026 business rules on subscriber registration add that a National Identification Number (NIN) is mandatory for porting, as for every new SIM ([NCC business rules](https://ncc.gov.ng/sites/default/files/2026-08/Business-Rules-for-the-Registration-of-Communications-Subscribers-Regulations-2026.pdf)). If you route, price or score fraud by operator, look up the current network per number. Our [MNP atlas](/blog/mobile-number-portability-atlas) compares Nigeria with 67 other countries.

## Which messaging apps and channels reach people?

SMS reaches every active mobile, within the rules below. For WhatsApp, Meta prices Nigeria as its own market, not as part of "Rest of Africa". Its pricing page lists lower authentication rates for Nigeria from 1 February 2025 and lower authentication-international rates from 1 April 2025 ([Meta pricing](https://developers.facebook.com/docs/whatsapp/pricing), read on 2026-09-27).

Nigeria is one of the countries with an authentication-international rate. Meta charges it to eligible businesses based in another country that send one-time passwords to Nigerian numbers. A business becomes eligible after sending more than 750,000 messages outside customer service windows in a moving 30-day period to users in such countries. For OTPs sent from abroad at scale, that rate can matter more than the local one. Our [WhatsApp OTP vs SMS OTP](/blog/whatsapp-otp-vs-sms-otp-cost) post shows how to compare cost per verified user.

We found no published source that measures app use in Nigeria in a way we can verify, so we don't quote shares. Check which apps your own opted-in customers use, route from that, and keep SMS as the fallback. Our [channel-by-country guide](/blog/choosing-a-messaging-channel-by-country) shows the method.

## What are the rules for SMS, sender IDs and OTP?

These summarise NCC's documents as we read them on 2026-09-27. Not legal advice; ask counsel how they apply to you.

### Do-Not-Disturb: the 2442 short code

On NCC's direction, every operator activated a Do-Not-Disturb (DND) facility on 1 July 2016, behind the common short code `2442` ([NCC DND study](https://ncc.gov.ng/sites/default/files/2024-11/Research-Impact_of_DND_Service_2442_ShortCode.pdf)):

- **Full DND** blocks promotional messages and calls from every sector.
- **Partial DND** blocks only chosen categories, such as banking and finance, real estate, education, health, consumer goods, entertainment, tourism, sports and religion.
- **Personal messages** aren't affected, and the study describes DND as a bar on bulk and promotional SMS.

NCC's study counts 22,038,864 subscribers on full DND and 448,985 on partial DND in 2019. So a promotional campaign to a Nigerian list will not reach part of it, and the operators decide that, not you.

### Short codes and promotions

NCC's Guidelines on Short Code Operations (July 2023) cover services run on short codes by operators, content providers and value-added service (VAS) aggregators. Every advertisement and promotional message must name the operator, content provider and VAS aggregator with their contact details, state prices and whether a service is a subscription, and show the consumer's right to opt in or opt out. Aggregators must give consumers at least two ways to contact the content provider ([NCC guidelines](https://ncc.gov.ng/media/1012/view)).

We didn't find an NCC rule that sets up a register of alphanumeric sender IDs for business SMS. Senders register them with operators and aggregators under contract, so ask your SMS provider what it needs for Nigerian routes.

### SIM registration and the NIN

Since 15 September 2024, NCC has expected that no SIM operating in Nigeria is without a valid NIN. Its statement of 28 August 2024 reported more than 153 million SIMs linked, a 96% compliance rate ([NCC, via the Internet Archive](https://web.archive.org/web/20241002164243/https://ncc.gov.ng/media-centre/news-headlines/1468-press-statement-ncc-announces-final-deadline-for-nin-sim-linkage-compliance-september-14-2024)). The business rules of August 2026 add:

- the NIN is the only accepted proof of identity for new subscriptions and for porting, and each subscriber may register with one NIN only;
- operators must be able to count the SIMs registered to a subscriber, within and across networks;
- numbers with no revenue-generating event for 365 days in a row are delinked and barred, and recycled numbers are cleared of the NIN before reuse;
- foreigners staying less than two years are exempt from the NIN, with activation tied to their visa.

The 365-day rule is the one that matters for your data. A number collected in 2025 may belong to someone else by 2027, so re-check old numbers before you send them an OTP. Our post on [number recycling and list decay](/blog/number-recycling-and-list-decay) explains how.

### What that means for OTP

A one-time passcode the user asked for isn't promotional, so DND blocks shouldn't apply to it, but it runs on the same routes. Send it from a sender your provider has set up for transactional traffic, keep it free of offers, and don't reuse numbers collected for verification for marketing unless the person opted in.

## What changed recently?

The rows for `NG` and `+234` in our [numbering-plan changes dataset](/datasets/numbering-plan-changes-2019-2026), built from libphonenumber's release notes:

<!-- country-data:NG:changes:start -->
<!-- generated by apps/web/scripts/gen-country-guide-data.mjs (rows of content/datasets/numbering-plan-changes-2019-2026); edit the script, not this table -->

| Change named in the release notes (2019-01-08 to 2026-09-23) | Releases |
|---|---:|
| Numbering-plan metadata (validation, lengths, types) | 12 |
| Original-carrier prefix data | 10 |
| Geocoding (area names) | 4 |
| All | 26 |

Latest numbering-plan updates for `NG`: 2025-04-23 (v9.0.4), 2024-08-22 (v8.13.44), 2024-02-21 (v8.13.31), 2024-01-10 (v8.13.28), 2022-12-07 (v8.13.2).
<!-- country-data:NG:changes:end -->

Nigeria's metadata changes often: twelve numbering updates since 2019, the latest in April 2025 (v9.0.4). An old library may reject numbers in new blocks such as `071` and `072`, so keep it current. On the rules side, the August 2026 business rules on subscriber registration are the newest document, and the WhatsApp rate changes are listed above.

## What can MobileValidate check for Nigerian numbers?

Generated from our public catalog:

<!-- country-data:NG:coverage:start -->
<!-- generated by apps/web/scripts/gen-country-guide-data.mjs (public catalog https://api.mobilevalidate.com/v1/services, fetched 2026-09-27); edit the script, not this table -->

| Check | Accepts Nigeria numbers | Notes |
|---|---|---|
| Format and country (every lookup) | Yes | Each number is parsed first; an invalid number returns `invalid_number` and is never billed. |
| Carrier lookup (beta) | Yes | Line type and current network where data exists; no data means `unknown`, not billed. Real time and bulk. |
| US/CA carrier lookup (premium) | No (US, CA only) | Answers `unsupported_country` for other countries, not billed. |
| Live network status (HLR) | Yes | Live reachability, porting, roaming (true or false) and current network; `unknown` is free. Real time and bulk. |
| Number portability (MNP) | Yes | Ported or not ported, and the current network code; `unknown` is free. Real time and bulk. |
| Spam reputation | Limited access | All countries except sanctioned ones; report coverage is strongest in North America and Europe. |
| Messaging apps | Yes: WhatsApp, Telegram, Viber, Signal*, iMessage*, RCS*, LINE*, Zalo, Botim*, Facebook Messenger* | Registered, not registered or unknown; unknown is free. |
| Social networks | Yes: Facebook, Instagram, Threads, X (Twitter), TikTok*, Snapchat* | Not for Nigeria numbers: LinkedIn (US, IN only). |
| Online accounts (Apple, Amazon, Microsoft, Netflix) | Yes: Apple, Amazon, Microsoft, Netflix | Registered, not registered or unknown; unknown is free. |

\* bulk jobs only. Catalog as fetched on 2026-09-27; the live list is at [`GET /v1/services`](https://api.mobilevalidate.com/v1/services).
<!-- country-data:NG:coverage:end -->

A lookup returns network and registration facts. It never returns a subscriber's name, NIN or address, and we don't offer "number owner" searches.

Here is a practical flow for an opted-in customer list: normalise every number with `normalize_ng()`, then one bulk job returns WhatsApp and Telegram registration and the current network for each. It uses the public sandbox key `mv_test_publicSandboxn9ZgneuhR1B9CRfKG3fulym` and our [test values](/docs/test-values), which are UK drama numbers because the sandbox accepts only those. With a live key, pass your normalised numbers. We ran it on 2026-09-27 with Python 3.12 and requests 2.31.

```python title="ng_list_profile.py"
import os

import requests  # pip install requests

API = "https://api.mobilevalidate.com/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['MOBILEVALIDATE_API_KEY']}"}


def registered(check: dict) -> bool | None:
    """True or False when the check completed; None when it is unknown (unknown is never billed)."""
    return check["registered"] if check["status"] == "completed" else None


def profile(numbers: list[str]) -> list[dict]:
    """One bulk job: WhatsApp and Telegram registration plus the current network for an opted-in list."""
    job = requests.post(f"{API}/jobs", headers=HEADERS, timeout=30,
                        json={"numbers": numbers, "checks": ["whatsapp", "telegram", "carrier"]}).json()
    job = requests.get(f"{API}/jobs/{job['id']}", headers=HEADERS, params={"wait": 30}, timeout=40).json()
    rows, after = [], None
    while True:
        page = requests.get(f"{API}/jobs/{job['id']}/results", headers=HEADERS, timeout=30,
                            params={"limit": 1000, **({"after": after} if after else {})}).json()
        for row in page["data"]:
            c = row["checks"]
            rows.append({"e164": row["e164"], "whatsapp": registered(c["whatsapp.registered"]),
                         "telegram": registered(c["telegram.registered"]),
                         "network": (c["network.carrier"]["attributes"] or {}).get("carrier")})
        if not page["has_more"]:
            return rows
        after = page["next_cursor"]


for r in profile(["+447700900001", "+447700900002", "+447700900003"]):
    print(r)
```

| Test value | Sandbox answer | Row printed |
|---|---|---|
| `+447700900001` | both apps registered, carrier `Test Carrier` | `whatsapp: True, telegram: True, network: 'Test Carrier'` |
| `+447700900002` | neither app, carrier unknown (`NO_DATA`) | `whatsapp: False, telegram: False, network: None` |
| `+447700900003` | everything unknown (`UPSTREAM_TIMEOUT`) | `whatsapp: None, telegram: None, network: None` |

Test jobs complete as soon as they are created and are never billed. In live mode, unknown answers aren't billed either, and a live job waits until it is done (`wait` long-polls for up to 30 seconds per call, so poll again for large lists). The same job with curl:

```bash
curl https://api.mobilevalidate.com/v1/jobs \
  -H "Authorization: Bearer $MOBILEVALIDATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"numbers": ["+447700900001", "+447700900002", "+447700900003"], "checks": ["whatsapp", "telegram", "carrier"]}'
```

See [bulk jobs](/docs/bulk-jobs) for downloads and filters, [carrier lookup](/services/carrier-lookup) for the fields, and [pricing](/pricing) for prices.

## What are the key takeaways?

- Nigerian mobiles are `+234` plus ten digits, `0803 XXX XXXX` at home; store the E.164 form.
- Nigerians dial out with `009`, so rewrite a typed `00234` to `+234` before parsing.
- The prefix shows the original operator only: most ports complete within 48 hours.
- Promotional SMS is filtered by each subscriber's DND 2442 choices; OTPs should carry no offers.
- Numbers idle for 365 days are barred and recycled, so re-check old lists before sending codes.

Platform, regulator and company names are used descriptively. MobileValidate is not affiliated with any of them.

## Sources

1. [Mobile Number Allocation Table (as at December 2023)](https://ncc.gov.ng/operators/mobile-number-allocation-table) — Nigerian Communications Commission (NCC), 2023
2. [Notification to ITU of new ITU-T E.164 numbers in the National Numbering Plan (71X and 72X for MVNO services)](https://ncc.gov.ng/media/1063/view) — Nigerian Communications Commission (NCC), 2024
3. [Mobile Number Portability Regulations, 2014 (S.I. No. 28 of 2014, Official Gazette No. 92, 28 July 2014)](https://ncc.gov.ng/media/1121/view) — Nigerian Communications Commission (NCC), 2014
4. [Nigeria Mobile Number Portability: Business Rules and Port Order Processes, version 5.0 (December 2020)](https://ncc.gov.ng/media/246/view) — Nigerian Communications Commission (NCC), 2020
5. [A Study on the Impact of DND Service 2442 Short Code in Effective Telecoms Consumer Complaints Management](https://ncc.gov.ng/sites/default/files/2024-11/Research-Impact_of_DND_Service_2442_ShortCode.pdf) — Nigerian Communications Commission (NCC), 2021
6. [Guidelines on Short Code Operations in Nigeria, 2023](https://ncc.gov.ng/media/1012/view) — Nigerian Communications Commission (NCC), 2023
7. [Business Rules for the Registration of Communications Subscribers Regulations (August 2026)](https://ncc.gov.ng/sites/default/files/2026-08/Business-Rules-for-the-Registration-of-Communications-Subscribers-Regulations-2026.pdf) — Nigerian Communications Commission (NCC), 2026
8. [Press statement: NCC announces final deadline for NIN-SIM linkage compliance, September 14, 2024 (28 August 2024)](https://web.archive.org/web/20241002164243/https://ncc.gov.ng/media-centre/news-headlines/1468-press-statement-ncc-announces-final-deadline-for-nin-sim-linkage-compliance-september-14-2024) — Nigerian Communications Commission (NCC), via the Internet Archive, 2024
9. [WhatsApp Business Platform pricing and authentication-international rates](https://developers.facebook.com/docs/whatsapp/pricing) — Meta for Developers, 2026
10. [libphonenumber PhoneNumberMetadata.xml (region NG) and release notes](https://github.com/google/libphonenumber/blob/master/resources/PhoneNumberMetadata.xml) — libphonenumber project (Apache License 2.0), 2026

## Frequently asked questions

### How many digits is a Nigerian mobile number?

Ten digits after the country code +234, or eleven when written nationally with the leading 0. A Nigerian mobile looks like 0803 XXX XXXX at home and +234 803 XXX XXXX in E.164.

### What is the Nigeria country code for WhatsApp and international use?

+234. Drop the leading 0: 0803 XXX XXXX becomes +234 803 XXX XXXX. Store that E.164 form and use it everywhere.

### Does the 0803 or 0805 prefix tell me the network?

Only the operator the range was allocated to. NCC's portability rules let subscribers move to another operator and keep their number, and prepaid and single-account postpaid ports complete within 48 hours, so look up the current network when it matters.

### How do people in Nigeria stop promotional texts?

Through the Do-Not-Disturb short code 2442, which all operators activated on 1 July 2016 on NCC's direction. Subscribers can block all promotional messages (full DND) or only some categories (partial DND). Personal messages aren't affected.

### Can a lookup tell me who owns a Nigerian number?

No. Subscriber identity, including the NIN linked to a SIM, stays with the operators and the identity agency. A MobileValidate lookup returns network and registration facts, never a name, NIN or address.
