Skip to content

vauchi/core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,033 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mirror: This repo is a read-only mirror of gitlab.com/vauchi/core. Please open issues and merge requests there.

Pipeline Coverage REUSE

Warning

Pre-Alpha Software - This project is under heavy development and not ready for production use. APIs may change without notice. Use at your own risk.

Vauchi

A privacy-focused platform for exchanging contact information that stays up-to-date.

The Problem

When you exchange contact details with someone, that information becomes outdated the moment either of you changes your phone number, email, social media, or address. You end up with stale contacts, and people lose touch.

Worse, social media platforms keep users captive by implicitly threatening them with losing their contacts if they leave. Your relationships become locked inside platforms you may no longer want to use.

The Solution

Vauchi lets you exchange "living" contact cards. When you update your information, everyone you've shared it with automatically receives the update - securely and privately.

Key Principles

  • In-Person Exchange - Contact cards can only be exchanged when physically together (QR code scan)
  • Selective Sharing - Control which contacts see which fields (work email vs personal)
  • No Messages - This is not a messenger; it only syncs contact information
  • End-to-End Encrypted - No server can read your data
  • Decentralized - Relay servers only pass encrypted blobs; the relay is oblivious to content and identities

Development

Prerequisites

  • Rust 1.78+ (see rust-toolchain.toml)
  • For mobile: UniFFI, Swift/Xcode (iOS), Kotlin/Gradle (Android)
  • For desktop: Node.js, pnpm, Tauri prerequisites

Commands

cargo test                        # All tests
cargo test -p vauchi-core         # Core only
cargo clippy -- -D warnings       # Lint
cargo fmt                         # Format

⚠️ Mandatory Development Rules

TDD: Red→Green→Refactor. Test FIRST or delete code and restart.

  1. Write failing test (Red)
  2. Write minimal code to pass (Green)
  3. Refactor
  4. Tests trace to features/*.feature Gherkin scenarios

Structure: src/ = production code only. tests/ = tests only. Siblings, not nested.

Documentation

  • Architecture: vauchi/docs repository
  • API Reference: Generated from code comments
  • BDD Scenarios: ../features/ (separate repo)

Mobile Development

The vauchi-platform crate produces UniFFI bindings consumed by:

See each platform repo for detailed setup instructions.

Contributing

  1. Read vauchi/vauchi:README.md for project structure and commit rules
  2. Check vauchi/docs for architecture decisions
  3. Follow TDD workflow strictly
  4. Ensure cargo test --workspace passes before submitting

Support the Project

Vauchi is open source and community-funded — no VC money, no data harvesting.

License

GPL-3.0-or-later

About

Vauchi — Rust core library — crypto, protocols, data models (mirror of gitlab.com/vauchi)

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages