PermitGuard
Take control of your wallet. See every permission. Revoke with one click.
Videos
Description
๐ก๏ธ PermitGuard
Take control of your wallet. See every permission. Revoke with one click.
๐ฏ Problem Statement
Every Web3 user accumulates wallet permissions over time. These permissions:
๐ด Often go unnoticed and unmanaged
๐ด Create security vulnerabilities
๐ด Remain active long after they're needed
๐ด Are difficult to find and revoke
Result: Millions of wallets have unnecessary exposure to potential exploits.
๐ก Our Solution
A beautiful, functional dashboard that gives users complete visibility and control over their MetaMask permissions.
Key Features
Feature | Description |
|---|---|
๐ One-Click Connect | Seamless MetaMask integration |
๐ Risk Assessment | Color-coded risk levels (safe/moderate/dangerous) |
๐๏ธ Easy Revocation | Single or bulk permission removal |
๐ Search & Filter | Find permissions by name, risk, or type |
๐ Statistics | Overall risk score and permission breakdown |
๐ History Timeline | Track permission events over time |
๐ Dark Mode | Modern Web3 aesthetic |
๐ฑ Responsive | Works on desktop, tablet, and mobile |
๐ ๏ธ Tech Stack
Category | Technology |
|---|---|
Frontend | React 19, TypeScript |
Build | Vite |
Styling | Pure CSS (Glassmorphism, CSS Variables) |
Animations | Framer Motion |
Icons | Lucide React |
Wallet | MetaMask SDK |
Testing | Vitest, fast-check (Property-Based Testing) |
๐ Quick Start
# Clone the repository
git clone https://github.com/AqilaRifti/PermitGuard.git
# Install dependencies
npm install
# Start development server
npm run dev
# Run tests
npm test
# Build for production
npm run build
๐ Project Structure
src/
โโโ components/ # React UI components
โโโ hooks/ # Custom React hooks
โโโ services/ # MetaMask & API services
โโโ context/ # React context providers
โโโ types/ # TypeScript interfaces
โโโ utils/ # Utility functions
โโโ index.css # Global styles๐งช Testing
We use property-based testing to ensure correctness:
npm test25 tests covering:
โ Risk level calculation determinism
โ Filter result correctness
โ Filter idempotence
โ Stats calculation accuracy
๐จ Design Highlights
Glassmorphism Cards
Frosted glass effect with backdrop blur for a modern Web3 look.
Risk Color Coding
๐ข Green (Safe) - Read-only access
๐ก Yellow (Moderate) - Write access with limits
๐ด Red (Dangerous) - Unlimited spending access
Smooth Animations
Framer Motion powered transitions for a polished feel.
๐ฎ Roadmap
Core dashboard functionality
Risk assessment system
Search and filter
Bulk revocation
Real-time permission alerts
Cross-chain support
Browser extension
Mobile app
๐ฅ Team
Built with โค๏ธ for the Web3 community.
๐ License
MIT License - feel free to use this project for your own purposes.
๐ Acknowledgments
MetaMask team for the SDK
The Web3 security community
All the dApps that inspired better permission management
Live Demo: https://permitguard.netlify.app
Progress During Hackathon
Built PermitGuard from the ground up resulting in a sleek, production-ready React dashboard that gives MetaMask users complete visibility and control over their wallet permissions. We implemented one-click wallet connection via MetaMask SDK, a comprehensive permission card system with color-coded risk assessment (safe/moderate/dangerous), powerful search and filtering capabilities, bulk revocation actions, and a permission history timeline. The UI features a modern Web3 aesthetic with glassmorphism design, smooth Framer Motion animations, and full mobile responsiveness. We also established a robust testing foundation with 25 property-based tests using fast-check to verify risk calculation determinism, filter correctness, and idempotence, ensuring the core logic is bulletproof across all edge cases.
Tech Stack
Fundraising Status
N/A