{"id":51238260,"url":"https://github.com/cloudpedagogy/cloudpedagogy-ai-ethics-review","last_synced_at":"2026-06-28T22:01:31.773Z","repository":{"id":364531141,"uuid":"1265560936","full_name":"cloudpedagogy/cloudpedagogy-ai-ethics-review","owner":"cloudpedagogy","description":"Local-first governance tool for structured ethical review of AI-supported systems, workflows, and outputs using configurable frameworks, transparent scoring, evidence capture, and governance-ready reporting.","archived":false,"fork":false,"pushed_at":"2026-06-13T10:38:49.000Z","size":790,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-13T12:23:04.985Z","etag":null,"topics":["ai-assurance","ai-ethics","ai-governance","audit-trail","decision-support","ethical-review","governance-engineering","human-ai-governance","responsible-ai","risk-management"],"latest_commit_sha":null,"homepage":"https://www.cloudpedagogy.com/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudpedagogy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-10T22:14:27.000Z","updated_at":"2026-06-13T10:38:53.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/cloudpedagogy/cloudpedagogy-ai-ethics-review","commit_stats":null,"previous_names":["cloudpedagogy/cloudpedagogy-ai-ethics-review"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/cloudpedagogy/cloudpedagogy-ai-ethics-review","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudpedagogy%2Fcloudpedagogy-ai-ethics-review","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudpedagogy%2Fcloudpedagogy-ai-ethics-review/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudpedagogy%2Fcloudpedagogy-ai-ethics-review/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudpedagogy%2Fcloudpedagogy-ai-ethics-review/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudpedagogy","download_url":"https://codeload.github.com/cloudpedagogy/cloudpedagogy-ai-ethics-review/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudpedagogy%2Fcloudpedagogy-ai-ethics-review/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34905180,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-28T02:00:05.809Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-assurance","ai-ethics","ai-governance","audit-trail","decision-support","ethical-review","governance-engineering","human-ai-governance","responsible-ai","risk-management"],"created_at":"2026-06-28T22:01:31.142Z","updated_at":"2026-06-28T22:01:31.768Z","avatar_url":"https://github.com/cloudpedagogy.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CloudPedagogy AI Ethics Review\n\nLocal-first governance tool for structured ethical review of AI-supported systems, workflows, and outputs using configurable frameworks, transparent scoring, evidence capture, and governance-ready reporting.\n\n🌐 Live Hosted Version:\nhttp://cloudpedagogy-ai-ethics-review.s3-website.eu-west-2.amazonaws.com/#/frameworks\n\n🖼️ Screenshot:\n![CloudPedagogy AI Ethics Review Screenshot](assets/screenshot.png)\n\n---\n\n## Overview\nThe **CloudPedagogy AI Ethics Review** tool is a specialized, local-first web application designed to bridge the gap between AI technical capability and ethical accountability. It allows administrators, researchers, educators, and governance teams to systematically evaluate the ethical dimensions of AI-supported tools and workflows. By utilizing customizable frameworks, weighted scoring scales, rule overrides, and mandatory evidence logs, organizations can transform subjective ethical principles into structured, auditable governance data.\n\n---\n\n## Key Features\n* **Custom Framework Builder**: Create, duplicate, and modify ethical frameworks tailored to specific regulatory, academic, or corporate requirements.\n* **Weighted Criteria Scoring**: Adjust criteria weighting to ensure higher-impact issues (e.g., student privacy or algorithmic bias) carry proportionate influence.\n* **Conditional Rules Engine**: Establish red-flag rule overrides (e.g., \"Critical Risk\" overrides if human oversight is completely absent).\n* **Mandatory Evidence Capture**: Force text justification for numeric scores to build a meaningful, qualitative audit trail.\n* **Interactive Dashboard**: View historical reviews, track system risks, and analyze score distributions across multiple projects.\n* **Local-First \u0026 Offline-Capable**: All data stays inside the browser's local storage—zero external APIs, ensuring complete data privacy.\n* **PDF Report Generation**: Export beautiful, print-optimized reviews detailing final scores, justifications, triggered rules, and safeguards.\n* **Data Portability**: Import and export database configurations via standard JSON files.\n\n---\n\n## Ethical Review Workflow\n```mermaid\nflowchart LR\n    A[Select Framework] --\u003e B[Enter System Metadata]\n    B --\u003e C[Evaluate \u0026 Score Criteria]\n    C --\u003e D[Provide Justification Notes]\n    D --\u003e E[Evaluate Rules \u0026 Thresholds]\n    E --\u003e F[Generate Report \u0026 Required Safeguards]\n```\n1. **Choose Framework**: Select a template (e.g., Higher Education, General Ethics) matching the system's deployment context.\n2. **Specify Metadata**: Log the system title, AI engine used, description, purpose, and stakeholders.\n3. **Score Criteria**: Evaluate criteria scoring scales from 0 (High Risk) to 3 (No Risk).\n4. **Capture Evidence**: Document textual justifications for each score.\n5. **Review Report**: The system calculates the weighted score percentage, applies threshold levels, triggers any red flags, and prescribes necessary safeguards.\n6. **Publish / Export**: Print to PDF or download the evaluation JSON to store in project repositories.\n\n---\n\n## Governance Applications\n* **Academic Course Integration**: Assures course leaders and university boards that student-facing generative AI assistants are ethically sound.\n* **Ethics Board Auditing (IRB)**: Provides researchers with structured reports verifying data minimization and participant protection.\n* **Procurement Compliance Gate**: Serves as a qualitative evaluation hurdle that vendor AI tools must pass before integration.\n* **Ethics-as-Code Integration**: The exported JSON files can be checked into git repositories alongside source code, tracking ethical review changes across system versions.\n\n---\n\n## Review Framework Builder\nThe Framework Builder gives users total control over ethical assessments:\n* **Tabs-based configuration**: Define general settings, criteria lists, risk thresholds, rule overrides, and required safeguards.\n* **Interactive Addition/Deletion**: Add new evaluation criteria to frameworks with custom weights and display orders.\n* **Duplication System**: Clone existing frameworks with a single click to experiment with different scoring scales or weightings.\n\n---\n\n## Scoring and Assessment\nThe scoring engine computes a weighted percentage using the following formulas:\n\n$$\\text{Criterion Score Contribution} = \\text{Score} \\times \\text{Weight}$$\n$$\\text{Total Score} = \\sum (\\text{Score}_i \\times \\text{Weight}_i)$$\n$$\\text{Maximum Possible Score} = \\sum (\\text{Max Score}_i \\times \\text{Weight}_i)$$\n$$\\text{Percentage Score} = \\frac{\\text{Total Score}}{\\text{Max Possible Score}} \\times 100$$\n\n* The percentage score maps directly to baseline **Threshold Recommendation Levels** (e.g. 0-25% = Critical Risk, 76-100% = Low Risk).\n* If a conditional rule evaluates to true (e.g., a critical criterion scores too low), an **override recommendation** is triggered to elevate the risk tier.\n\n---\n\n## Evidence Capture\nThe tool enforces a strict two-part validation system:\n1. **Quantitative Score**: A rigid rating that classifies the performance level of a system under a specific criterion.\n2. **Qualitative Justification**: An open-text notes section where the reviewer enters the concrete evidence, observations, or mitigation actions that justify the rating. This text is displayed in the final report to prevent scoring from becoming an empty exercise.\n\n---\n\n## Reporting and Exports\n* **Print-to-PDF**: Print layout CSS automatically adapts the interface to a clean, white-page layout with headers, signatures, and page breaks suitable for formal distribution.\n* **JSON Backups**: Easily download your state from Settings (`ethics-framework.json`) and share it with peers who can upload it into their local browsers.\n\n---\n\n## Technology Stack\n* **Vite**: High-performance frontend bundler.\n* **React 19**: Modern declarative UI framework.\n* **TypeScript**: Type-safe application logic.\n* **Zustand**: Lightweight, reactive state management.\n* **Zustand Persist Middleware**: Automatic serialization of application state to the browser's `localStorage`.\n* **Tailwind CSS**: Sleek utility styling.\n* **Lucide React**: Clean vector iconography.\n* **Date-fns**: Robust date formatting.\n\n---\n\n## Local-First Design Principles\nThe AI Ethics Review application is built with an offline-first design philosophy:\n* **Zero Network Requests**: The app makes no API calls to save, load, or process data.\n* **Zero Latency**: Calculations, page transitions, and saving are instantaneous.\n* **Data Control**: Your data never leaves your computer, making it compliant with strict intellectual property and GDPR frameworks.\n* **Resilience**: The tool remains functional even in environments with no internet access.\n\n---\n\n## Installation\nEnsure you have [Node.js](https://nodejs.org/) (version 18+) and npm installed.\n\nClone this repository and install dependencies:\n```bash\ngit clone https://github.com/cloudpedagogy/cloudpedagogy-ai-ethics-review.git\ncd cloudpedagogy-ai-ethics-review\nnpm install\n```\n\n---\n\n## Running Locally\nStart the local development server:\n```bash\nnpm run dev\n```\nOpen your browser and navigate to:\n[http://localhost:5173/](http://localhost:5173/)\n\n---\n\n## Building for Production\nTo build the application for production deployment (generates static assets in `dist/`):\n```bash\nnpm run build\n```\n\n---\n\n## AWS S3 Deployment\nThe static build folder (`dist/`) can be deployed to an AWS S3 bucket for static website hosting:\n\n1. Build the production assets: `npm run build`\n2. Sync files to S3:\n   ```bash\n   aws s3 sync dist/ s3://your-ethics-review-bucket --delete\n   ```\n3. (Optional) Invalidate CloudFront distribution:\n   ```bash\n   aws cloudfront create-invalidation --distribution-id YOUR_DIST_ID --paths \"/*\"\n   ```\n\n---\n\n## Export Options\n1. **JSON Configuration**: Located in **Settings** \u003e **Export Configuration**. Outputs a schema-compliant JSON file containing all customized frameworks and reviews.\n2. **Print/PDF**: Located on any individual report page. Triggering the **Print PDF** button formats the review page for clean printing or saving via the browser's built-in print dialog.\n\n---\n\n## Repository Structure\n```\n├── assets/                 # Graphics assets (e.g. screenshot.png)\n├── public/                 # Static public files (favicon, etc.)\n├── src/\n│   ├── components/         # Reusable UI \u0026 domain-specific components\n│   │   ├── framework/      # Framework builder tabs and editors\n│   │   ├── layout/         # Sidebar, header, page layouts\n│   │   └── ui/             # Core design components (buttons, cards)\n│   ├── models/             # TypeScript type definitions (types.ts)\n│   ├── pages/              # Primary route views (Dashboard, Reviews, etc.)\n│   ├── store/              # Zustand global state (useStore.ts, defaultData.ts)\n│   ├── App.css             # Main stylesheet\n│   ├── App.tsx             # Route management \u0026 base layout\n│   ├── index.css           # Tailwind CSS directives\n│   └── main.tsx            # Application mounting file\n├── index.html              # HTML shell\n├── package.json            # Build scripts and dependencies\n├── tailwind.config.js      # Tailwind style tokens\n├── tsconfig.json           # TS base compiler options\n└── vite.config.ts          # Vite compiler plugins and configurations\n```\n\n---\n\n## Roadmap\n1. **CRDT Syncing**: Enable real-world collaboration between offline-first nodes using P2P synchronization.\n2. **Enhanced Rules Syntax**: Support numerical comparisons, regex text parsing, and compound condition rules in the user interface.\n3. **Framework Repository**: Connect to a community-driven repository to download industry-standard ethical frameworks (such as IEEE, EU AI Act, and NIST).\n4. **Git Integration**: Push evaluations and frameworks directly to GitHub or GitLab repositories from settings.\n\n---\n\n## License\nLicensed under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudpedagogy%2Fcloudpedagogy-ai-ethics-review","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudpedagogy%2Fcloudpedagogy-ai-ethics-review","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudpedagogy%2Fcloudpedagogy-ai-ethics-review/lists"}