Skip to content
CloudVNO
Number Masking

Connect anyone, protect everyone.

Number Masking API that lets your users call and text through temporary proxy numbers — so personal phone numbers stay private. Built on 60,000+ UK numbers with carrier-grade voice quality.

import cloudvno

session = cloudvno.masking.sessions.create(
    participant_1="+447700900001",
    participant_2="+447700900002",
    ttl=3600  # session expires in 1 hour
)

print(session.proxy_number)  # +447000123456
# Either party calls this number → connected to the other
60,000+
UK Numbers
< 200ms
Call Setup
99.99%
Uptime SLA
GDPR
Compliant

Your users need to talk. They shouldn't have to share phone numbers to do it.

Every platform that connects strangers faces the same problem. Delivery drivers need to call customers. Estate agents need to reach property viewers. Marketplace buyers need to message sellers. But the moment personal phone numbers are exchanged, you lose control — off-platform transactions, harassment, spam, and GDPR liability.

Number masking solves this by routing all calls and texts through a temporary proxy number. Both parties communicate naturally, neither sees the other's real number, and when the transaction ends, the connection disappears.

Three API calls. That's it.

1

Create a session

Your platform tells CloudVNO which two people need to connect. We assign a proxy number from your pool.

2

Parties communicate through the proxy

Either party calls or texts the proxy number. CloudVNO automatically routes to the other party. Caller ID shows the proxy number, never the real number.

3

Session ends, connection disappears

When the transaction is complete, your platform closes the session. The proxy number returns to the pool, ready for the next session.

Everything you need to mask at scale.

2-Way Voice Masking

Route calls through proxy numbers with carrier-grade audio quality. Both inbound and outbound calls are masked. Call recording available on request.

2-Way SMS Masking

Text messages forwarded transparently between parties via the proxy number. Supports standard SMS and Unicode messages.

Automatic Session Expiry

Set a TTL on every session. Proxy numbers are automatically released when sessions expire — no cleanup code needed.

Number Pool Management

Bring your own numbers or use our pool of 60,000+ UK mobile numbers. Numbers are automatically allocated and recycled across sessions.

Smart Number Reuse

One proxy number can serve multiple non-overlapping sessions. Our routing engine ensures no collisions.

Real-Time Webhooks

Get notified instantly when calls start, end, are missed, or when SMS messages are sent and received.

Call Detail Records

Complete logs of every masked interaction — duration, direction, timestamps, session ID — accessible via API.

STIR/SHAKEN Attestation

Masked calls carry verified caller ID attestation, reducing spam flags.

Geo-Matching

Automatically assign proxy numbers matching the geographic area of participants. Increases answer rates.

GDPR-Ready

No personal phone numbers exposed. Session data auto-purged after configurable retention. UK/EU data residency.

Built for platforms that connect people.

Delivery & Logistics

Connect delivery drivers with recipients for last-mile coordination. Proxy numbers expire automatically when the delivery is confirmed.

Who uses this: Food delivery apps, courier services, grocery delivery, parcel logistics.

Marketplaces & Classifieds

Let buyers and sellers negotiate safely. Track which listings generate calls. Prevent off-platform transactions.

Who uses this: Used goods marketplaces, auto traders, property portals, freelance platforms.

Ride-Hailing & Mobility

Protect rider and driver privacy on every trip. Automatic session creation when a ride is booked, teardown when the trip ends.

Who uses this: Taxi apps, ride-sharing platforms, chauffeur services, car-sharing.

Property & Real Estate

Estate agents can share a masked number on listings instead of their personal mobile. Track enquiries per listing.

Who uses this: Estate agencies, property management, rental marketplaces.

Healthcare & Telemedicine

Connect patients with practitioners without exposing personal numbers. Maintain privacy in compliance with healthcare regulations.

Who uses this: Telemedicine platforms, appointment booking, home care coordination.

Home Services

Homeowners don't need to give their phone number to every plumber or electrician. Masked numbers keep communication open during the job.

Who uses this: Home service platforms, cleaning services, handyman apps.

Recruitment

Connect recruiters and candidates without revealing personal numbers. Sessions can span weeks with configurable TTL.

Who uses this: Recruitment platforms, staffing agencies, HR tech.

Dating & Social

Give users a safe way to move from in-app chat to phone calls without revealing personal details.

Who uses this: Dating apps, social discovery platforms.

Simple, usage-based pricing. No platform fees.

ComponentPrice
UK mobile proxy number$0.50/month per number
Voice — per minute$0.040/minute
SMS — per masked message$0.010/message
Session creationFree
WebhooksFree
Call recording (optional)$0.005/minute stored

Volume discounts: 50+ numbers: 20% off number rental. 100,000+ minutes/month: custom pricing.

How we compare

 CloudVNOTwilio ProxyPlivo
UK number rental$0.50/mo$1.00/mo$0.80/mo
Voice per minute$0.040$0.070+$0.050
SMS per message$0.010$0.020+$0.015
Platform feeNoneNoneNone
New customer signupOpenClosedOpen

Free trial: $10 credit on signup — enough for ~20 test sessions.

Under the hood.

Call setup latency< 200ms
Concurrent sessions per number1 (no collisions)
Sequential sessions per numberUnlimited (auto-recycled)
Maximum session TTL30 days
Supported number typesUK mobile (07x), UK landline (01/02), toll-free (0800)
Voice codec supportG.711 (PCMU/PCMA), Opus
SMS supportStandard GSM, Unicode, concatenated messages
Call recording formatsMP3, WAV
API authenticationAPI key + secret (HMAC)
API formatREST (JSON)
WebhooksHTTPS POST, configurable retry policy
SDKsPython, Node.js, PHP, Go, Ruby, Java
Rate limits100 sessions/second
SLA99.99% uptime
Data residencyUK / EU
ComplianceGDPR, STIR/SHAKEN, PECR

Full API reference in our docs. Here's a taste.

POST/v1/masking/sessionsCreate a Session

Request body

{
  "participant_1": "+447700900001",
  "participant_2": "+447700900002",
  "proxy_number": "+447000123456",
  "ttl": 3600,
  "callback_url": "https://yourapp.com/webhooks/masking",
  "metadata": {
    "order_id": "ORD-12345",
    "type": "delivery"
  }
}

Response

{
  "id": "ses_8f3a2b1c4d5e",
  "status": "active",
  "proxy_number": "+447000123456",
  "participant_1": "+447700900001",
  "participant_2": "+447700900002",
  "ttl": 3600,
  "expires_at": "2026-03-11T15:30:00Z",
  "created_at": "2026-03-11T14:30:00Z",
  "metadata": {
    "order_id": "ORD-12345",
    "type": "delivery"
  }
}
GET/v1/masking/sessions?status=active&limit=50List Active Sessions
DELETE/v1/masking/sessions/{session_id}End a Session

Live in 30 minutes. Not 30 days.

import cloudvno

client = cloudvno.Client(api_key="your_api_key", api_secret="your_api_secret")

# Create a masked session for a delivery
session = client.masking.sessions.create(
    participant_1="+447700900001",  # driver
    participant_2="+447700900002",  # customer
    ttl=1800,  # 30 minutes
    metadata={"order_id": "ORD-12345"}
)

print(f"Proxy number: {session.proxy_number}")
# → Give this number to the driver's app
# → Driver calls it, customer's phone rings

# When delivery is confirmed, end the session
client.masking.sessions.delete(session.id)

Frequently asked questions

Twilio Proxy is closed. We're open.

If you've been looking for number masking infrastructure that's affordable, developer-friendly, and actually available — you just found it. Start building with $10 free credit.