Security Architecture
An authentic technical overview of PairCrypt's security architecture, zero-knowledge encryption protocols, network transport isolation, local vault security, and privacy-preserving mechanisms.
Zero-Knowledge End-to-End Encryption
AES-256-GCM • X25519 ECDH • HKDF-SHA256 • Platform Secure Storage
PairCrypt uses zero-knowledge end-to-end encryption (E2EE) so that message and note content is encrypted locally on your device before transmission. Decryption keys remain locally on user devices; relay servers store and transmit only encrypted ciphertext payloads.
Key Agreement & Derivation
PairCrypt uses AES-256-GCM for authenticated encryption, X25519 Elliptic Curve Diffie-Hellman (ECDH) for key agreement, and HKDF-SHA256 for key derivation. Cryptographic keys are stored locally using platform-protected secure storage.
Payload Padding
Application plaintexts are padded to 256-byte block boundaries prior to encryption to reduce message length leakage and help obfuscate exact payload sizes.
SAS Verification Codes
Users can compute a 6-digit Short Authentication Code (SAS) derived via PBKDF2 (50,000 iterations) from the shared key to manually verify key agreement out-of-band.
Privacy-Preserving Subscription Verification
Elliptic Curve VOPRF Protocol • Blind Signature Verification • Unlinkable Entitlements
Subscriptions are managed through Elliptic Curve Verifiable Oblivious Pseudorandom Function (VOPRF) vouchers using two distinct cryptographic signals. This decouples payment identity (Google Play or Apple App Store purchase receipts) from your private PairCrypt chat identity.
Two-Signal Activation Architecture
Signal 1 (Receipt Verification & Voucher Unblinding): When a purchase or restore is initiated, Signal 1 sends a blinded token to the server. The server verifies the receipt with Apple or Google Play and returns a signed VOPRF voucher, which is saved locally in your phone's secure storage.
Signal 2 (Voucher Redemption & Activation): Once Signal 1 succeeds, an ACTIVATE button appears in the app. Tapping this button sends the unblinded VOPRF voucher along with your PairCrypt ID to the server. The server validates the cryptographic signature and grants active subscription status.
Why We Do This: We split activation into two signals so your Google Play or Apple App Store purchase receipts are never linked to your PairCrypt ID on our server, protecting your privacy between your payment and your chat identity.
Monthly Expiry Batching (Timestamp Protection)
The server never stamps your exact purchase date or time on your voucher. All voucher expiration dates are rounded to a unified monthly batch time (the last second of the month at 23:59:59).
Extra Active Days Bonus
Because voucher expirations are rounded to the end of the following month, activating a subscription on any day of the month grants you extra bonus active days for the remainder of that month.
Restore Purchase & Monthly Limit
Tapping "Restore Purchase" re-verifies your Apple or Google Play receipt to issue a new voucher for your device. To prevent receipt sharing abuse while allowing full flexibility for reinstalls and device switches, a subscription allows up to 15 purchase restorations per month. This limit automatically resets at the start of every new monthly billing cycle.
Ephemeral Tor Stream Isolation & Strict IP Guard
When Tor is active, Signal 1 (Receipt Verification) uses SOCKS5 stream isolation (IsolateSOCKSAuth) with a unique stream credential, forcing the Tor daemon to construct a dedicated 3-hop circuit with an isolated Exit Node IP. Before transmitting receipt data, a pre-flight firewall checks Signal 1's Exit IP against the main app Tor IP. If the Exit IPs ever match, Signal 1 immediately aborts to prevent IP-based network correlation.
VPN or Tor Recommendation
For maximum privacy and network security, we recommend using a VPN or PairCrypt's embedded Tor routing when executing Signal 2 activation requests.
Embedded Tor Routing & Fail-Closed Protection
Embedded Tor Daemon • SOCKS5 Application Routing • Fail-Closed Behavior
When Tor is enabled, PairCrypt's applicable application network traffic is routed through the embedded Tor network rather than directly to PairCrypt's infrastructure.
Fail-Closed Enforcement
PairCrypt uses a strict fail-closed approach when Tor is enabled. If Tor is not ready or connection drops, applicable network connections are refused locally rather than silently falling back to a direct connection.
Application Scope & Tor Circuits
Embedded Tor applies strictly to PairCrypt application network traffic. PairCrypt does not operate as a device-wide VPN. The app also supports checking current Tor exit IPs and requesting new circuits.
Local Encrypted Database & Passlock Isolation
Local Vault Encryption • Secure Storage Keys • Passlock Verification
Local data stored on user devices is protected at rest using encrypted local database storage:
Encrypted Database Vault
Local room data and messages are saved inside an encrypted SQLite database vault. The 256-bit vault encryption key is generated locally and stored inside platform-protected secure storage.
Passlock Local PIN Lock
Users can enable optional local Passlock PIN protection to prevent unauthorized local app opening.
Data Retention & Data Wiping Controls
Transient Delivery Buffers • Data Retention Periods • Power Wipe Controls
PairCrypt adheres to data minimization across storage and network infrastructure:
- Transient Message Storage: Encrypted message payloads are retained only as necessary to facilitate delivery and synchronization, generally deleted within 3 days after successful delivery.
- Security Metadata Retention: Certain transient technical security metadata is retained for approximately 72 hours for abuse prevention, while subscription transaction records may be retained as needed for accounting and platform reconciliation.
- Power Wipe & Power Wipe+: Power Wipe erases local encrypted data and cryptographic material on device. Power Wipe+ also initiates deletion of associated server-side room and quota metadata.