尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗The complete Governance, Risk & Compliance platform built for South African businesses.
Manage POPIA, ISO 27001, SOC 2, King IV, GDPR, and more — with AI automation, risk heat maps, policy management, and PayFast billing in ZAR.
| Layer | Technology |
|---|---|
| Framework | Next.js 15 (App Router, TypeScript) |
| Styling | Tailwind CSS + shadcn/ui + Lucide Icons |
| Database & Auth | Supabase (Postgres, RLS, Realtime) |
| AI | Anthropic Claude API |
| Payments | PayFast (ZAR recurring subscriptions) |
| Deployment | Vercel |
| Charts | Recharts |
git clone https://github.com/yourusername/auditpilot.git
cd auditpilot
npm install
cp .env.example .env.local
Fill in .env.local — see Environment Variables below.
supabase/schema.sql from this reposupabase/seed.sql for demo datahttp://localhost:3000 (dev) or your production domainhttp://localhost:3000/** and https://yourdomain.com/**notifications, audit_logs, risks4000000000000002123NEXT_PUBLIC_PAYFAST_MERCHANT_ID=10000100 # Your sandbox merchant ID
NEXT_PUBLIC_PAYFAST_MERCHANT_KEY=46f0cd694581a # Your sandbox key
PAYFAST_PASSPHRASE=yourpassphrase # Set in PayFast merchant settings
NEXT_PUBLIC_PAYFAST_SANDBOX=true
In PayFast merchant settings, set the webhook/notify URL to:
https://yourdomain.com/api/payfast/webhook
For local testing, use ngrok:
ngrok http 3000
# Set: https://abc123.ngrok.io/api/payfast/webhook
.env.local:ANTHROPIC_API_KEY=sk-ant-your-key-here
npm run dev
Open http://localhost:3000.
npm i -g vercel
vercel login
vercel
| Variable | Where to get it |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Supabase → Settings → API |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Supabase → Settings → API |
SUPABASE_SERVICE_ROLE_KEY | Supabase → Settings → API (secret) |
ANTHROPIC_API_KEY | console.anthropic.com |
NEXT_PUBLIC_PAYFAST_MERCHANT_ID | PayFast merchant dashboard |
NEXT_PUBLIC_PAYFAST_MERCHANT_KEY | PayFast merchant dashboard |
PAYFAST_PASSPHRASE | PayFast merchant settings |
NEXT_PUBLIC_PAYFAST_SANDBOX | false for production |
NEXT_PUBLIC_APP_URL | https://yourdomain.vercel.app |
https://yourdomain.vercel.app/api/payfast/webhookhttps://yourdomain.vercel.app/**NEXT_PUBLIC_PAYFAST_MERCHANT_ID=your_live_merchant_id
NEXT_PUBLIC_PAYFAST_MERCHANT_KEY=your_live_merchant_key
PAYFAST_PASSPHRASE=your_live_passphrase
NEXT_PUBLIC_PAYFAST_SANDBOX=false
To give yourself super-user access:
-- Run in Supabase SQL Editor
UPDATE profiles
SET is_platform_admin = true
WHERE email = '[email protected]';
Then navigate to /admin in the app.
auditpilot/
├── src/
│ ├── app/
│ │ ├── (auth)/ # Login, Register, Forgot Password
│ │ ├── (dashboard)/ # All protected app pages
│ │ │ ├── dashboard/ # Home dashboard
│ │ │ ├── policies/ # Policy management
│ │ │ ├── risks/ # Risk register + heat map
│ │ │ ├── compliance/ # Framework compliance
│ │ │ ├── audit/ # Audit & evidence
│ │ │ ├── ai-tools/ # AI features
│ │ │ ├── settings/ # Team, billing, integrations
│ │ │ └── admin/ # Platform admin
│ │ ├── api/ # API routes
│ │ │ ├── ai/ # Claude AI endpoints
│ │ │ ├── payfast/ # PayFast webhook + subscription
│ │ │ ├── policies/ # Policy CRUD
│ │ │ ├── risks/ # Risk CRUD
│ │ │ ├── compliance/ # Framework + controls
│ │ │ ├── evidence/ # Evidence repository
│ │ │ ├── audit-report/ # Report generator
│ │ │ └── notifications/
│ │ ├── globals.css
│ │ ├── layout.tsx
│ │ └── page.tsx # Landing page
│ ├── components/
│ │ ├── ui/ # Base UI components
│ │ ├── dashboard/ # Sidebar, Topbar, DashboardContent
│ │ ├── policies/ # Policy management UI
│ │ ├── risks/ # Risk register + heat map UI
│ │ ├── compliance/ # Compliance framework UI
│ │ ├── audit/ # Audit & evidence UI
│ │ ├── ai/ # AI tools UI
│ │ ├── settings/ # Team, billing UI
│ │ ├── admin/ # Admin panel UI
│ │ ├── landing/ # Marketing landing page
│ │ └── shared/ # ThemeProvider, etc.
│ ├── lib/
│ │ ├── supabase/ # Supabase client, server, middleware
│ │ ├── payfast/ # PayFast utilities + pricing
│ │ ├── anthropic/ # Claude AI functions
│ │ └── utils/ # Helper utilities
│ ├── types/ # TypeScript type definitions
│ └── middleware.ts # Auth route protection
├── supabase/
│ ├── schema.sql # Complete database schema with RLS
│ └── seed.sql # Demo data
├── public/
├── .env.example
├── vercel.json
└── README.md
Key tables:
organisations — multi-tenant root, isolated by RLSprofiles — extends auth.users with role and orgsubscriptions — PayFast subscription trackingcompliance_frameworks — seeded with 8 frameworksorganisation_frameworks — which frameworks each org trackscontrols — compliance controls per frameworkevidence — evidence repositorypolicies + policy_versions + policy_acknowledgementsrisks — risk register with auto-calculated scoresaudits — audit scheduling and trackingaudit_logs — immutable activity lognotifications — realtime notificationsai_interactions — AI usage trackingAll tables have Row Level Security enabled. Tenants are completely isolated.
| Plan | Price | Users | Frameworks |
|---|---|---|---|
| Starter | Free | 5 | 2 |
| Pro | R799/mo | 25 | All |
| Enterprise | Custom | Unlimited | Custom |
PayFast recurring subscriptions via ITN (Instant Transaction Notification) webhook.
All powered by Claude claude-sonnet-5:
MIT — Built with ❤️ in 🇿🇦 South Africa
AuditPilot is POPIA compliant. Personal information is processed in accordance with the Protection of Personal Information Act, 2013 (Act 4 of 2013).