Solid(ar)ity

Privacy Policy

Last updated: 2026-01-15

Introduction

Solid(ar)ity is a privacy-first, peer-to-peer application that prioritizes your privacy through a local-first architecture and zero-knowledge cryptography.

Our core principle: your data belongs to you. Everything stays on your device. We operate with zero servers and zero data collection.

Information we do NOT collect

Solid(ar)ity is designed to operate completely offline with zero data collection. We do not:

  • Collect personally identifiable information (PII)
  • Track your usage or behavior
  • Store data on remote servers
  • Share data with third parties
  • Use analytics or advertising services
  • Require account creation or login credentials
  • Access your contacts without explicit permission
  • Transmit your card data over the internet

Information stored locally on your device

All data generated by Solid(ar)ity is stored exclusively on your device using Apple's secure storage mechanisms.

1. Business card information

  • What: name, title, company, email, phone, social handles, and other fields you choose to add
  • Where: encrypted local file storage on your iOS device
  • Encryption: AES-GCM (256-bit)
  • Control: edit or delete at any time

2. Received contacts

  • What: cards shared with you via proximity, QR, or AirDrop
  • Where: encrypted local file storage
  • Control: delete at any time

3. Zero-knowledge identity

  • What: cryptographic keys generated using the Semaphore protocol
  • Where: stored in the iOS Keychain (inaccessible to other apps)
  • Purpose: privacy-preserving group membership verification without revealing your identity
  • Security: private keys never leave your device

4. Group memberships

  • What: list of Semaphore groups you've created or joined
  • Where: encrypted local file storage
  • Privacy: membership verified via ZK proofs without exposing your identity

How information is shared

Solid(ar)ity enables peer-to-peer sharing directly between devices without any intermediary servers.

Proximity sharing (MultipeerConnectivity)

  • Direct WiFi or Bluetooth between nearby iOS devices
  • Only the fields you explicitly choose to share at your selected privacy level
  • Encrypted by Apple's MultipeerConnectivity framework

QR code sharing

  • QR code contains only fields marked as shareable
  • Access revoked by closing the QR screen

AirDrop / ShareLink

  • Standard iOS sharing as a vCard contact file
  • You initiate every share action

Apple Wallet (PassKit)

  • Export your card as an Apple Wallet pass
  • Data remains on your device within Apple's secure Wallet app

Selective disclosure & privacy levels

Solid(ar)ity implements selective disclosure so you control exactly what is shared:

  • Public: minimal information (e.g. name and title only)
  • Professional: work-related info (e.g. company email, LinkedIn)
  • Personal: full information including personal contact details

Before sharing, you select the level. Only fields marked for that level are included.

Zero-knowledge proofs

Solid(ar)ity uses zero-knowledge proofs (ZKPs) via the Semaphore protocol and Mopro framework for privacy-preserving group verification.

What ZKPs are

Cryptographic methods that let you prove a statement is true (e.g. “I am a member of this group”) without revealing anything else about yourself.

Local identity generation

  • A unique identity commitment is generated on-device
  • Private key lives in the iOS Keychain (never leaves the device)
  • Public commitment is a hash that represents your identity without revealing it

Group membership verification

Prove you're a member of a group without revealing which specific member, your personal info, or your device identifier. e.g. “I am one of 500 conference attendees” — without disclosing which one.

Privacy guarantees

  • Anonymity: your identity within a group is protected
  • Unlinkability: different proofs cannot be linked to the same person
  • Local computation: all proofs generated on-device
  • No server dependency: verification works peer-to-peer, offline-first

Permissions

Solid(ar)ity requests the following iOS permissions:

  • Local network: discover nearby devices for P2P sharing (required for proximity)
  • Camera: scan QR codes (optional)
  • Photo library: save QR images (optional)
  • Contacts: export received cards to your iOS Contacts (optional)

You can deny any of these. The app continues to function with reduced features.

Data security

  • AES-GCM encryption with 256-bit keys for local data
  • Keychain protection with device-level security for cryptographic keys
  • No cloud sync: no iCloud, no external backups
  • Secure P2P: MultipeerConnectivity uses TLS-level encryption between devices
  • No server exposure: there is nothing to breach remotely

Third-party services

What we do not use:

  • No analytics (Google Analytics, Firebase, etc.)
  • No advertising networks
  • No tracking SDKs
  • No cloud databases
  • No authentication providers (no Web3Auth, no OAuth)
  • No crash reporting services

Apple native frameworks

  • MultipeerConnectivity (local network only)
  • PassKit (Apple Wallet, data stays local)
  • Keychain (hardware-backed key storage)
  • Core Data / FileManager (encrypted local storage)

Open-source libraries (on-device only)

  • SemaphoreSwift — ZK proof generation. source
  • Mopro — mobile-optimized ZK proving. site

Both libraries run entirely on your device and make no network calls.

Children's privacy

Solid(ar)ity is not directed at children under 13. Since the app operates entirely locally and collects no data, there is no risk of inadvertently collecting children's information.

International users

All data stays on your device. No information is transmitted to servers, so no data crosses international borders. You maintain full control regardless of your location.

Your rights

  • Access: all your data is accessible inside the app
  • Correction: edit your card or contacts at any time
  • Deletion: delete any or all data within the app settings
  • Export: export data as backups or vCards
  • Portability: standard formats, no lock-in

Because we don't collect data on servers, there is no need to request data deletion or access from us — you already have direct control.

Changes to this policy

We may update this policy from time to time. Changes are reflected in the “Last updated” date above. We will notify users of significant changes via in-app notifications and updates to this page.

Export control and cryptography

Solid(ar)ity uses cryptography (AES-GCM and zero-knowledge proofs) strictly for privacy and security, not for financial transactions or cryptocurrency.

  • No cryptocurrency wallet functionality
  • No financial transactions or blockchain integration
  • Compliant with iOS App Store cryptography guidelines

Contact

Questions about this policy or our practices:

Transparency

Solid(ar)ity is open source. You can audit the code to verify these claims. We believe in privacy by design, not just by policy — our architecture makes it impossible for us to collect your data, because there are no servers to send it to.

Your data stays on your device. Period.