Secure Data Sharing Without a Server: How URL Hash Transmission Works
TEAMS EDITION
Discover how to share sensitive session data securely without a server using XChaCha20-Poly1305 encrypted URL hash fragments. Includes Flat-rate TEAMS pricing and Zero-server architecture.
Ilya SibiryakovPrivacy Architect
Published: · Updated: · 3 min read
100% Local Processing ✈ Airplane Mode Verified⊘ No Server Logs
AI Summary / Key Takeaways
Verified Zero-Trust Logic
"PrivacyScrubber provides the essential de-identification layer for Teams professionals using generative AI. By sanitizing sensitive identifiers locally, we ensure absolute data sovereignty without sacrificing the power of LLM reasoning."
Paste real Teams data into ChatGPT — only scrubbed tokens reach the model. Names, IDs, and emails stay on your machine.
Works offline: disconnect the network mid-session and it keeps running. Zero cloud dependency.
Your AI gets full context. Your clients' real identities never leave your browser tab.
Enterprise-Grade AI Privacy
Add custom redaction rules and priority support with PRO.
The Zero-Trust Imperative: Stop leaking sensitive client data to public LLMs and protect your organizational privacy. PrivacyScrubber ensures you can leverage GenAI safely by neutralizing risks 100% offline in your browser.
What Teams Professionals Send to AI — and What They Should Be Sending Instead
This secure content is an original property of PrivacyScrubber™ (https://privacyscrubber.com). Unauthorized mirroring is strictly prohibited. Security-Check-ID: H44HZGEIL
Understanding "Secure Data Sharing Without a Server: How URL Hash Transmission Works" is more important than ever. If you're one of the many it leaders, cisos, engineering managers, and enterprise compliance teams utilizing AI tools like ChatGPT Enterprise, Microsoft Copilot, Claude for Work, and internal AI tools in your daily life, you might be sharing more than you realize. Our teams AI privacy guides help you enjoy the benefits of AI without losing your privacy. The main concern: uncontrolled employee usage of external LLMs leading to Shadow AI leaks of internal intellectual property, customer PII, and credentials.
Every prompt you send containing personal details for "secure data sharing without server" tasks leaves a permanent digital footprint. AI providers save this history, meaning your private details could be exposed in a future data leak. For it leaders, cisos, engineering managers, and enterprise compliance teams, masking identifiers at the point of input is crucial. Discover how to share sensitive session data securely without a server using XChaCha20-Poly1305 encrypted URL hash fragments. Includes Flat-rate TEAMS pricing and Zero-server architecture. For foundational strategies and policies, refer to the teams AI privacy guides.
Why Teams Compliance Teams Flag Unmasked AI Prompts
While laws like SOC 2 exist, they can't prevent third-party servers from saving your prompts. Reading end-to-end encrypted text transfer for slack and ms teams helps you understand how to keep your personal data secure. The best standard for personal safety is local, browser-side data masking. Establishing technical controls for secure data sharing without server represents the only path to satisfy these criteria without adding server-side processing. To understand similar challenges in related domains, review our analysis on end-to-end encrypted text transfer for slack and ms teams.
PrivacyScrubber acts as a Private Shield for your chatbot conversations, using either our web dashboard or the Chrome Extension.
How to Use AI on Real Teams Data — Without Sending a Single Real Name
PrivacyScrubber acts as a Private Shield for your chatbot conversations, using either our web dashboard or the Chrome Extension. It identifies names, phone numbers, and other details in the browser, replacing them with placeholders like [NAME_1]. This corresponds with the methods in Zero-Trust alignment, protecting your identity while keeping the AI smart. The Chrome Extension adds a shield button directly in ChatGPT, Claude, and Gemini to automate redaction and restoration. Processing data through browser-based Named Entity Recognition allows safe integration of ChatGPT Enterprise, Microsoft Copilot, Claude for Work, and internal AI tools for "secure data sharing without server" tasks while preserving client privacy. This zero-trust architecture is also highly relevant for teams navigating Zero-Trust alignment.
You can verify this yourself using the Airplane Mode Test. Load the site, turn off your Wi-Fi, and redact your text. Because it works completely offline, it satisfies the criteria for DLP across organizations, proving your data never leaves your computer. See how this methodology translates to other sectors in our guide on DLP across organizations.
Zero-Trust Configuration & Threat Model
Establishing a secure runtime boundary for secure data sharing without server workflows is key to compliance. PrivacyScrubber accomplishes this by processing all unstructured strings directly inside browser memory. The engine's local regex patterns parse prompts for serverless data transmission and swap them with secure identifiers in real-time. This offline tokenization scheme ensures that third-party LLMs cannot reconstruct the original identities during analysis of secure text sharing link logs.
Verification Protocol
Analyze input patterns to detect references to secure data sharing without server.
Apply local Named Entity Recognition to tokenize primary identifiers.
Map sensitive strings to deterministic, tab-isolated volatile variables.
Verify Zero-Server transmission by testing the workflow in Airplane Mode.
Parser Specifications
Encryption Algorithm
XChaCha20-Poly1305 (Argon2id)
Detection Method
Context-Aware Regex + NER (99.5% Accuracy)
Data Egress Rule
Zero-Server Egress (Airplane Mode Verifiable)
Classification Standard
Maximum Privacy Guard
Associated Threat Level
Low (Inference Risk)
Your Private Shield
PrivacyScrubber operates entirely on your device. Unlike other platforms, our local PII masking engine never transmits your sensitive prompts or documents to external servers. All detection and restoration happens in your computer's local RAM.
No Backend Connection: Zero API calls, zero tracking, zero logs.
Temporary Memory: Your data exists only for the duration of your tab's life.
Verification Ready: Built for professionals who need to audit their security layer with DLP across organizations.
Testing Your Safety
We encourage you to audit our zero-trust claims for secure data sharing without server using the Airplane Mode Test:
1
Open your browser's Network Monitor before you start scrubbing.
2
Switch to Airplane Mode (physical or simulated) and protect your text.
3
Verify that no data packets ever leave your machine.
ChatGPT & Enterprise LLMs Integration
How to Protect Data for Secure Data Sharing Without a Server
PrivacyScrubber operates entirely client-side. Whether using the copy-paste dashboard or the browser extension, your sensitive records stay on your local device. Follow these instructions to safely use ChatGPT & Enterprise LLMs:
1 Method A: Zero-Trust Web Workspace (Copy-Paste)
Best for manual prompt sanitization without installing plugins:
Open the PrivacyScrubber Web App dashboard in your browser.
Paste the raw prompt or text containing sensitive details of Secure Data Sharing Without a Server.
Click Protect PII. Sensitive data is instantly swapped for secure placeholders (e.g., [NAME_1]).
Submit the sanitized prompt to ChatGPT & Enterprise LLMs.
Paste the AI's answer into the Reveal Originals box to instantly restore the original values.
From Raw Teams Data to Clean AI Prompt — 3 Steps, 30 Seconds, Zero Server Hops
Open PrivacyScrubber or the Chrome Extension. Paste your real Secure Data Sharing Without a Server text. What reaches ChatGPT looks like this: [NAME_1][EMAIL_1]. Your original data stays local the entire time.
1
Step 1: Paste Your Real Data
Paste your actual Secure Data Sharing Without a Server text into PrivacyScrubber — or click the shield icon directly inside ChatGPT, Claude, or Gemini. No copy-paste workaround. No second tab. It sits right where you already work.
2
Step 2: Names Out, Tokens In — Locally
The engine runs inside your browser. Every real name, ID, and email is replaced with a safe token ([NAME_1], [EMAIL_1]) before the prompt is sent. The AI analyzes your actual business logic — but sees zero real identities.
Safety standard:
Airplane Mode Verified (RAM Only)
3
Step 3: Get the AI's Answer Back in Plain Language
Paste the AI's response into Reveal Originals. PrivacyScrubber swaps every token back to the original value — instantly, inside browser RAM. Close the tab and every mapping is gone. Nothing stored, nothing logged, nothing sent.
Privacy Guarantee:
Mapping destroyed on tab close
Enterprise Adoption Use Cases
CISO Security TeamDLP GOVERNANCE
Zero-Trust Verified
Security teams deploy client-side sanitization to keep outbound AI prompts free of sensitive organizational data, avoiding complex multi-party DPA negotiations.
VP of EngineeringENGINEERING
Zero-Trust Verified
Engineering managers secure developer copy-paste workflows, sanitizing cloud credentials and API keys locally before they enter public LLM histories.
Risk & Audit LeadCOMPLIANCE
Zero-Trust Verified
Compliance directors verify local-only sanitization at the browser extension level, satisfying SOC 2 Type II controls for external AI data transmission.
Data Protection OfficerGDPR COMPLIANCE
Zero-Trust Verified
Data protection officers enforce client-side tokenization, keeping prompt text fully minimized and anonymous in compliance with GDPR data processing rules.
Flat Rate — Unlimited Seats
Your Whole Team on Real Client Data. Safely. $99/mo Flat.
No per-seat pricing. No DPA negotiation. No IT portal. Secure your entire organization with client-side PII masking — $99/month flat, unlimited users. SOC 2 & HIPAA ready. Works in Airplane Mode.
Zero-Trust Data Sanitization (ZTDS) — Verified Architecture
Independently auditable facts for Teams compliance teams
Data transmission
0 bytes sent to any server
Processing location
100% browser RAM (volatile memory)
Session map persistence
Destroyed on tab close — never written to disk
Key derivation
Argon2id (memory-hard, server-independent)
Encryption cipher
XChaCha20-Poly1305 (authenticated encryption)
Offline verification
Airplane Mode Standard — full function without network
BAA / DPA required
No — zero PHI/PII reaches PrivacyScrubber servers
Audit method
Chrome DevTools → Network tab — zero outbound requests
How to audit: Open PrivacyScrubber, enable Airplane Mode, paste any teams text, click Protect PII. Open Chrome DevTools → Network tab. Zero outbound requests will confirm 100% local execution. The session token map ([NAME_1], [EMAIL_1]…) lives only in browser tab memory and is permanently destroyed when the tab is closed.
FAQ: What Happens in the Browser, Stays in the Browser
Does protecting secure data before AI processing satisfy SOC 2?
Yes. Processing pseudonymized data for a secondary purpose (AI analysis or drafting) aligns with SOC 2 because no personally identifiable data is transmitted to the AI provider. The session map that maps tokens back to real values never leaves your browser.
What specific PII does PrivacyScrubber detect for teams use cases?
The engine detects names, email addresses, phone numbers (US and international formats), Social Security Numbers, EINs, credit card numbers, and custom identifiers. PRO users can add custom regex rules to match teams-specific patterns such as secure data sharing without server.
Can I reverse the redaction if I use PrivacyScrubber to mask teams data?
Yes. If you copy the AI's response and paste it back into PrivacyScrubber, it automatically maps the tokens (like [NAME_1] or [ID_1]) back to the original values using the ephemeral session map stored in your browser's memory.
Can PrivacyScrubber be used offline for secure data sharing?
Yes. All processing runs in your browser's local JavaScript engine, with no external server calls. Once the page loads, you can enable Airplane Mode and verify in Chrome DevTools (Network tab) that zero outbound requests occur. All cryptographic operations (including client-side pseudonymization and reverse-revealing) utilize hardware-accelerated XChaCha20-Poly1305 encryption and Argon2id key derivation running entirely inside browser RAM, ensuring your teams data stays 100% on your device.
How can I verify that PrivacyScrubber sends zero data to servers?
Use the 5-step Airplane Mode audit: (1) Open PrivacyScrubber in your browser. (2) Disconnect your network connection (enable Airplane Mode). (3) Paste a text sample containing names, emails, and phone numbers. (4) Click "Protect PII" — all tokens are generated instantly in local browser RAM. (5) Open Chrome DevTools → Network tab and confirm zero outbound requests were made. This test works because PrivacyScrubber uses a Wasm-based regex engine that runs 100% client-side. The session token map (e.g. [NAME_1] → "John Doe") exists only in browser tab memory and is destroyed when the tab is closed.
Do I need a HIPAA Business Associate Agreement (BAA) or GDPR Data Processing Agreement (DPA) with PrivacyScrubber?
No. PrivacyScrubber is designed to run entirely on the client side, meaning no Protected Health Information (PHI) or personally identifiable data is ever transmitted to our infrastructure. Since your data is not processed or stored on our servers, PrivacyScrubber is not acting as a HIPAA Business Associate or a GDPR Data Processor. Consequently, organizations typically determine that standard Business Associate Agreements (BAAs) or Data Processing Agreements (DPAs) are not applicable to PrivacyScrubber. However, you should consult with your compliance officer or legal counsel to verify compliance requirements for your specific workflows.
Can I customize detection rules specifically for secure data sharing without server PII safety?
Yes. In the PRO edition of PrivacyScrubber, you can configure custom regular expression (regex) rules designed to target unique patterns associated with secure data sharing without server and other sector-specific nomenclature. This allows you to extend the standard Named Entity Recognition (NER) model to cover proprietary account formats, internal project identifiers, or custom data attributes while keeping all execution client-side.
Is pasting sensitive data into ChatGPT safe?
Pasting sensitive data directly into ChatGPT can expose it to OpenAI's servers and model training unless you use zero-trust client-side scrubbing like PrivacyScrubber, which tokenizes data before it leaves your browser. Protect your workflows for $15/mo with PRO.
How does client-side PII redaction work?
Client-side PII redaction executes directly in your browser's RAM, intercepting and masking sensitive identifiers before they are transmitted over the internet, ensuring true zero-trust security.
How does the Secure Workspace differ from the Browser Extension?
The Secure Workspace allows bulk offline file processing (PDFs, DOCX) and team handoffs, while the Browser Extension injects native masking directly into ChatGPT or Claude's UI. Both are included in our zero-trust ecosystem.
What is the PII MCP Server used for?
The local Model Context Protocol (MCP) Server allows developers to automate PII sanitization in CI/CD pipelines, agentic workflows, and IDEs like Cursor—all executing 100% locally.
What Teams Professionals Send to AI — and What They Should Be Sending Instead Why Teams Compliance Teams Flag Unmasked AI Prompts
While laws like SOC 2 exist, they can't prevent third-party servers from saving your prompts. Reading end-to-end encrypted text transfer for slack and ms teams helps you understand how to keep your personal data secure. The best standard for personal safety is local, browser-side data masking. Establishing technical controls for secure data sharing without server represents the only path to satisfy these criteria without adding server-side processing. To understand similar challenges in related domains, review our analysis on end-to-end encrypted text transfer for slack and ms teams.
How to Use AI on Real Teams Data — Without Sending a Single Real Name
PrivacyScrubber acts as a Private Shield for your chatbot conversations, using either our web dashboard or the Chrome Extension. It identifies names, phone numbers, and other details in the browser, replacing them with placeholders like [NAME_1]. This corresponds with the methods in Zero-Trust alignment, protecting your identity while keeping the AI smart. The Chrome Extension adds a shield button directly in ChatGPT, Claude, and Gemini to automate redaction and restoration. Processing data through browser-based Named Entity Recognition allows safe integration of ChatGPT Enterprise, Microsoft Copilot, Claude for Work, and internal AI tools for "secure data sharing without server" tasks while preserving client privacy. This zero-trust architecture is also highly relevant for teams navigating Zero-Trust alignment.
Is PrivacyScrubber safe for secure data sharing without server, serverless data transmission, secure text sharing link?
Yes, absolutely. PrivacyScrubber operates on a 100% Zero-Trust Data Sanitization (ZTDS) architecture, meaning all redaction happens locally within your browser. When working with secure data sharing without server, serverless data transmission, secure text sharing link, no sensitive data ever leaves your device or touches a cloud server.
How does it handle custom data structures for teams?
Our engine includes 22+ built-in industry profiles optimized for teams data. Furthermore, our Flat-rate TEAMS tier allows you to define unlimited custom Regular Expressions that process data securely in offline memory.
Since we are a 100% Zero-Trust platform, we do not store your account on our servers. Your unique License Key has been generated locally.
Your License Key
PS-PRO-XXXX-0000
1. Save this key! You will need it to unlock the Chrome Extension or log in on other devices.
2. A backup of your Order ID was sent to your email by Paddle.
Manual Activation
Unlock your features
Invalid or expired license key
License Activated
Your features are unlocked.
14-Day Free Pilot
Get 14-Day TEAMS & PRO Trial
Need batch document parsing, custom regex rules, or team session sharing? Request a 14-day trial key for your organization — zero credit card required.
Already have a license key or team code?
Secure Checkout
PrivacyScrubber PRO
1 User License
Process Unlimited Data — Drop massive folders & batch PDFs
Protect Any Workflow — 22+ Industry Profiles + Custom Regex
Unlock All Environments — Web, Chrome, IDE MCP & Offline OCR
Prove Compliance — 1-click PDF Audit Receipts for SOC2/GDPR
100% Local RAM — zero data leaves your browser
Airplane Mode Verified — works offline
14-Day money-back guarantee
Trusted by teams at
Law firms · Hospitals · DevOps teams · AI researchers
Secure Checkout
PRO
$15/ mo
PrivacyScrubber PRO
Ad-Blocker Detected
Card checkout is currently blocked by your browser shield or ad-blocker.
& more
Secure one-time payment · Activated instantly.
100% Local RAM Airplane Mode Verified 14-Day Refund
Request Received
We've received your request. Check your inbox shortly (typically within 1 business day) — we'll email you a 14-day PRO activation key and a customized workflow guide.
Intercepts PII as you type in ChatGPT, Claude, Gemini — before you hit Send
🔥
You type Analyze for sarah@acme.com → auto-replaces to [EMAIL_1] before Send. Chrome Extension required.
Quick Actions
🔥
Lawyer → Paralegal workflow: Lawyer masks case notes → gets AI strategy → clicks Copy Secure URL → sends link via Slack → paralegal opens URL, pastes AI response → clicks Reveal → sees real client names restored. Zero server. Zero email with PII.
TEAMS Feature
Session Memory Handoff
Transfer your volatile token map to colleagues so they can reveal AI responses — zero server, zero logs, encrypted with XChaCha20-Poly1305.
Unlimited seats · No per-user pricing
Share Session Memory
Transfer your volatile token memory map to a colleague so they can reveal AI responses securely.
Zero-Trust Sync
Your session is encrypted locally using AES-256-GCM.
100% Client-Side
Custom Detection Rules TEAMS: Push to all
Define patterns for proprietary identifiers. TEAMS: push to every teammate's browser instantly. PRO: save locally for your own sessions.
🔥
Jira codes + TEAMS push: Add rule: Label=PROJECT Pattern=\b[A-Z]{2,5}-\d{4,6}\b → every PROJ-1234 auto-masks. Click Push Rules to Team → all 50 users get it instantly, no IT ticket.
1. Add Custom Rule: Define a word or regex pattern you want to hide.
E.g., if you type Apple with label FRUIT, it becomes [FRUIT_1].
Live Sandbox
Test your pattern here before saving it.
Quick Templates
Click a template below to instantly add a common rule.
Active Rules0
Rules listed here will be applied during scrubbing.
No rules added yet
Token Personalization
Change generic labels to specific ones for better AI understanding.
Scrub text to see tokens here.
Example: rename [NAME_1] to [PATIENT_1].
Shared Rule Registry
CISO defines rules → pushes .psblueprint → 40 employees apply it in 1 click. No server. No IT ticket.
🔥
CISO Blueprint push: CISO creates 3 rules (SSN pattern, internal IP range, project code) → clicks Push Registry → downloads .psblueprint file → shares link in company Slack → employees click → rules lock silently into each browser. Zero cloud sync. Zero DPA needed.
Admin
Lock rules after push
Members can't edit
Forward non-PII telemetry (masked counts, platform) to your internal SIEM. Keeps ZTDS intact. Endpoint must accept CORS.
Rules in Library
0 rules loaded
No custom rules yet.
Zero-Server Sync
1Admin pushes: Downloads a .psblueprint file & copies link.
2Members import: Open shared link or upload the blueprint file.
Zero Server Logs: Rules encode into local memory. Nothing saved online.
ZTDS Security Verification
Independently verify zero-trust compliance. Run the audit, download the PDF, hand it to your CISO.
🔥
CISO proof-of-zero-transmission: CISO asks "prove no data leaves our network" → click Run Local Security Audit → green checkmarks: ✓ No server requests, ✓ sessionMap in RAM only, ✓ Airplane Mode verified, ✓ Argon2id + XChaCha20 confirmed → download .txt report for compliance review.
Data Exfiltration 100% Local
Zero text processing servers. Verify via Airplane Mode test.
Crypto Parity libsodium
Argon2id + XChaCha20-Poly1305 encryption.
Memory Isolation Volatile RAM
Tab-scoped. Purged instantly on tab close.
Engine Sandbox WASM Thread
Document & OCR engines run entirely inside your browser.
Require SOC 2 Audit Log Streaming?
CISO Self-Audit Procedure
1
Network Silence Open DevTools Network Tab. Paste fake PII, click 'Protect PII' — confirm zero network calls.
2
Offline Operation Enable Airplane Mode. Paste text or drag a PDF — the engine remains fully functional.
3
Volatile Memory Reload the tab. Confirm all input/output and token-to-plaintext values are purged.
4
Encrypted Sync Click Push Registry and review console for Argon2id + XChaCha20-Poly1305 confirmation.
ZTDS Audit Report
Let a colleague reveal your AI response
Encrypted session sharing — impossible on individual PRO plans
How it works
A
You (this browser)
Scrubbed a doc → sent tokens to AI → got a response → wants to share the session
XChaCha20
B
Colleague (any browser)
Imports your session → pastes AI response → clicks Reveal → sees real names and data instantly
No server. No email with PII. Passphrase shared out-of-band (Slack/email).
Team Activity Dashboard
Dashboard Locked
Data Scrubbed
1.2 GB
Sessions
3,492
Active Users
18
PII Prevented
45.2k
Included in TEAMS
Centralized Rule Library
Admin pushes rules to the whole team
Team Activity Dashboard
Who scrubbed what — zero PII stored
Unlimited seats
Flat $99/mo · no per-user billing
GDPR / SOC 2 audit-ready
Compliance receipts for every session
$99
per month, flat
vs
$14
per person at 7 users
·
$5
per person at 20 users
PRO costs $15/person/mo individually. Break-even at 7 teammates.
Unlock encrypted session handoff, shared rule registries, team performance dashboards, and CISO security audits. Flat $99/mo — no per-seat pricing.
Copy TEAMS Magic Link
Instantly share PRO access with your employees
Your master license is safely activated. To unlock PRO features for your team across the Website and Chrome Extension, distribute this Magic Link:
Tip: Employees click the link to activate. No logins.
Keep this master link secure. Anybody with this URL can utilize your corporate TEAMS subscription.
Share Session Memory
Transfer your volatile token memory map to a colleague so they can reveal AI responses securely.
Zero-Trust Encryption
Hardware-accelerated AES-256-GCM. Key derivation via PBKDF2 (600,000 iterations). 100% Client-Side.
PRO / TEAMS
Enterprise Session Handoff
Collaborate without risk. Securely transfer volatile token memory maps directly to colleagues, enabling secure cross-device AI data restoration without saving anything to disk.
Airplane Mode Challenge
Zero-Server · Zero-Trust · 100% Local
Turn off your Wi-Fi right now and try pasting text into the tool below.
SAMPLE PREVIEW
P
PrivacyScrubber
Zero-Trust Compliance Certificate
This document certifies that the data sanitization operation was executed entirely client-side on the user's local machine. Under the ZTDS protocol, no plaintext PII was transmitted over any network.
Timestamp:2026-07-17T12:35Z
Session Hash:a4b9c1d3...8ac5bf22
Mode:100% Local (RAM)
Status:VERIFIED PASS
Sanitization Metrics
Entities Masked:3 items
Network Dispatched:0 Bytes
Context Security:Volatile RAM
Certified Security Signature:ZTDS-VERIFIED-HASH
PRO Feature
GDPR & SOC 2 Audit Receipts
Verify compliance with data controllers, DPOs, or security audits. Download a signed PDF certificate generated locally in your browser to prove that no prompt data left your network.
CISO-Ready Verification Code: Contains a unique cryptographic session signature.
Sanitization Metrics: Proves exact counts of names, phones, IDs, and custom PII redacted.
Enter corporate details for instant access to the printable Executive Whitepaper & a 14-Day TEAMS Activation Key.
Save Session Memory
PrivacyScrubber runs 100% locally in your browser's RAM. Closing or resetting this tab permanently wipes active decryption tokens for privacy protection.
Zero-Trust Session Backup
Download your encrypted session file (.pssession). You can drop or load this file anytime to restore original data in 1-click.
DevSecOps Audit Report
Zero-Trust Directory Scan Complete. 100% Offline.
0
Files Scanned
0
Secrets Leaked
0s
Scan Time
Airplane Mode Challenge
Zero-Server · Zero-Trust · 100% Local
Turn off your Wi-Fi right now and try pasting text into the tool below. It processes 100% in your local RAM without sending any network requests.