hackquest logo

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 test

25 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

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

React
Node
Metamask
Permissions
Security
Advanced
Wallet
Web3

Fundraising Status

N/A

Team Leader
SSkia Variants
Sector
OtherInfra