Proof of Residency enables users to generate a verifiable proof of residency from a pdf with an ATCud-signed utility bill (available in Portugal). The project leverages cryptographic techniques to preserve privacy, ensuring that while the country of residence is publicly verifiable, sensitive details like the specific address remain private.
By relying on trusted email sources—such as government communications, utility bills, or legal contracts, this project minimizes reliance on traditional and invasive verification methods.
- Privacy preservation: Keeps specific address details private while publicly verifying only the country of residence.
- Recipient verification: Ensures the email recipient is the individual proving residency.
- Onchain: Supports cryptographic proofs and decentralized validation.
The Proof of Residency project employs the following technologies:
- ATCud signature for documents
- SP1: Extracts and verifies document signatures from emails with attached PDFs; generates proof.
- Hylé: Adds verifiability to residency proofs.
- Submit a valid bill: Upload an valid pdf (e.g., a utility bill or government communication) as proof of residence.
- Generate proof: Use the system to parse attached PDFs, extract necessary data, and generate a privacy-preserving proof of residency.
- Share the proof: Provide verifiable proof to third parties while keeping sensitive details private.
-
Clone Hylé and start a single node devnet
-
Build the prover
cd prover cargo build --all --release
-
Run the server
cd ../server cargo run
-
Run the client (in another terminal)
cd web npm run dev
Contributions are welcome! To get started:
- Fork this repository.
- Create a feature branch for your changes.
- Submit a pull request detailing your improvements.
This project is supported by Hylé, the lean blockchain for your provable apps.