Web interface for managing GDPR data subject requests through the CIRISAgent multi-source DSAR orchestration system.
SageGUI provides a management interface for:
- Processing data subject access requests (DSARs) across multiple data sources
- Managing database connections and privacy schemas
- Tracking GDPR compliance metrics
- Generating audit reports
SageGUI (Next.js) → TypeScript SDK → CIRISAgent API → Data Sources
- Multi-source DSAR submission and tracking
- SQL database connector management
- YAML-based privacy schema editor
- Basic compliance reporting
- Role-based access control
- Node.js 18+
- PostgreSQL 14+
- Running CIRISAgent instance with multi-source-dsar-orchestration branch
git clone https://github.com/CIRISAI/SageGUI.git
cd SageGUI
# Install dependencies
pnpm install
# Copy environment configuration
cp .env.example .env.local
# Edit .env.local with your CIRISAgent API URL and credentials
# Start development server
pnpm devVisit http://localhost:3000
SageGUI is configured for deployment to Cloudflare Pages at sage.ciris.ai.
# Install dependencies
npm install
# Build and deploy to Cloudflare Pages
npm run deployFor detailed deployment instructions, environment configuration, and troubleshooting, see DEPLOYMENT.md.
SageGUI/
├── app/ # Next.js 14 App Router
│ ├── (dashboard)/ # Protected dashboard routes
│ │ ├── dashboard/ # Main dashboard
│ │ ├── data-sources/ # Connector management
│ │ ├── dsar/ # DSAR requests
│ │ ├── privacy-schemas/ # Privacy schema editor
│ │ ├── reports/ # Compliance reports
│ │ └── settings/ # System settings
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ ├── page.tsx # Landing page
│ └── providers.tsx # React Query provider
├── components/
│ └── layouts/ # Layout components (Sidebar, Header)
├── lib/
│ ├── ciris-sdk/ # TypeScript SDK
│ │ ├── client.ts # Main CIRIS client
│ │ ├── transport.ts # HTTP transport layer
│ │ ├── types/ # Type definitions
│ │ └── resources/ # API resources
│ └── utils.ts # Utility functions
└── ...config files
# Production (sage.ciris.ai)
NEXT_PUBLIC_API_URL=https://scoutapilb.ciris.ai
CIRIS_API_KEY=your-api-key
NEXTAUTH_URL=https://sage.ciris.ai
NEXTAUTH_SECRET=generate-with-openssl-rand-base64-32
# Local Development
NEXT_PUBLIC_API_URL=http://localhost:8000
NEXTAUTH_URL=http://localhost:3000version: 1.0
source:
type: postgresql
identifier: users_db
tables:
users:
pii_fields:
- email: {type: email, purpose: authentication}
- first_name: {type: name, purpose: identification}
retention: 7_yearsVersion: 0.0.1 (November 2025)
This is the initial foundation release with:
- ✅ Project structure and configuration
- ✅ TypeScript SDK foundation (Transport, Resources, Types)
- ✅ Base page layouts and navigation
- ✅ Dashboard, Data Sources, DSAR, Privacy Schemas, Reports, Settings pages
- ✅ UI components structure (ready for shadcn/ui)
- Implement React Query hooks for data fetching
- Add shadcn/ui components
- Connect pages to CIRISAgent API
- Add form validation with Zod
- Implement real-time DSAR progress tracking
- REST API connectors
- Enhanced reporting with charts
- Bulk DSAR operations
- NextAuth authentication
- Privacy schema validation
- Internationalization
This project is licensed under the GNU Affero General Public License v3.0.
Important: The AGPL requires that any modifications to SageGUI deployed as a network service must have their source code made available. For proprietary modifications, contact sales@ciris.ai for commercial licensing.
CIRIS L3C offers:
- Commercial licensing for proprietary use
- Deployment assistance
- Privacy schema development
- Custom connector development
Contact: sales@ciris.ai
See CONTRIBUTING.md for guidelines.