Stealth Safes enables stealth addresses for Safe multisigs, facilitating privacy-preserving transactions.
A stealth address is a one-time use address for a specific transaction, generated by the payment sender and exclusively controlled by the payment recipient. It allows for transactional privacy: an external observer is unable to link the recipient to the stealth address. This post by Vitalik Buterin is a great primer on the topic.
There is currently an EIP proposing a standardized approach to stealth addresses. In the meantime, a production-ready implementation of stealth addresses is the Umbra protocol.
With Stealth Safes, a sender deploys a Safe mirroring the parameters of its parent Safe, except the owners are stealth addresses of the parent Safe owners. The Safe owners can then redeem the transfer from the stealth Safe using their personal stealth addresses and a relayer to fund gas from the funds in the stealth Safe itself. This ensures there is no apparent link between the stealth Safe and its parent Safe to an external observer.
Contributions are welcome! Check issues in this repo and feel free to reach out.