Video thumbnail

Veil

Veil enables brand loyalty by allowing customers to prove ownership without revealing wealth

Project Description

Veil: Privacy-Preserving Brand Loyalty Platform Veil addresses a critical tension in the loyalty space: consumers want personalized rewards but are increasingly protective of their purchase data, while brands need customer insights but struggle with data privacy regulations. Our solution leverages zero-knowledge cryptography to bridge this gap. Customers collect digital product "passports" in their wallets and can generate cryptographic proofs that verify they meet specific requirements for rewards without exposing their exact purchase history.

For consumers, Veil offers:

  • A single wallet for all product ownership credentials
  • Control over which attributes are shared with brands
  • Access to exclusive rewards across multiple brands
  • The ability to prove eligibility without revealing personal data

For brands, the platform provides:

  • Tools to create attribute-based loyalty campaigns
  • New cross-promotional opportunities with other brands
  • Privacy-compliant customer insights
  • Reduced liability for handling sensitive purchase data

Veil focuses on the attributes that matter (purchase frequency, product categories, spending tiers) rather than individual items. This creates a new paradigm for loyalty: brands can target "premium sneaker collectors" or "early tech adopters" without knowing exactly which products a customer owns. The platform supports multiple import methods for digital product passports, including direct brand connections, QR code scanning from physical products (in the near future), and importing from external wallets. With Veil, we're reimagining loyalty programs for a privacy-focused future, benefiting both consumers seeking personalized experiences and brands needing deeper customer relationships without compromising privacy.

How it's Made

Veil is built on a privacy-first architecture that leverages zero-knowledge proofs to enable verifiable but private loyalty rewards. Here's how we built it:

Core Technology Stack: ZK Implementation: We used Aztec's zkDSL Noir language to create our zero-knowledge circuits. Noir's developer-friendly syntax and strong privacy guarantees made it ideal for our attribute verification logic. Frontend: LynxJS + React + vanilla CSS, enabling us to create a web app, native iOS app, and native Android app from a single codebase. Authentication: Privy.io for seamless account creation and wallet management, allowing both social logins and Web3 wallet connections. Smart Contracts: Solidity contracts for onchain proof verification. Backend Services: Node.js microservices handling user management, reward creation, and analytics.

Key Technical Components: Digital Passport System: We created a standardized format for product attributes that contains verifiable credentials about purchases while obscuring specific product details. These are stored in the user's embedded Privy wallet. ZK Circuit Design: Our Noir circuits verify specific attributes like "owns 3+ premium products" without revealing which products are owned. We implemented multiple circuit templates for different attribute combinations to minimize computation time. Proof Generation: The mobile app locally generates zero-knowledge proofs that attest to qualifying attributes. This happens entirely on the user's device, ensuring purchase data never leaves their control. Verification System: Brand dashboards include a verification module that can confirm proof validity without gaining insights into the specific products owned. Wallet Integration: We used Privy's SDK to create embedded wallets for new users while supporting connections to external wallets for importing existing digital product passports.

Technical Challenges Overcome: The most significant challenge was designing ZK circuits that could efficiently prove complex attribute combinations without requiring excessive computation on mobile devices. We solved this by creating a library of optimized circuit templates for common verification scenarios. Another challenge was developing a standardized format for representing product attributes across different brands. Our solution creates abstract "attribute tokens" that categorize products by relevant characteristics (premium, limited edition, etc.) without retaining identifying information. By leveraging Privy.io's authentication system alongside custom ZK circuits, we created a seamless user experience that hides the technical complexity while maintaining strong privacy guarantees throughout the verification process.

background image mobile

Join the mailing list

Get the latest news and updates