Chukwuemerie-ezieke/school-incident-response-playbook-generator

GitHub: Chukwuemerie-ezieke/school-incident-response-playbook-generator

一款帮助非洲 K-12 学校在几秒钟内生成定制化、合规的校园突发事件应急响应手册的纯客户端 Web 应用。

Stars: 0 | Forks: 0

# 校园应急响应手册生成器 ![许可证](https://img.shields.io/badge/license-MIT-blue.svg) ![平台](https://img.shields.io/badge/platform-Web%20App-brightgreen) ![NDPA](https://img.shields.io/badge/NDPA%202023-Compliant-orange) ![ISO 27001](https://img.shields.io/badge/ISO%2027001-Aligned-teal) ## 目录 - [概述](#overview) - [功能](#features) - [涵盖的事件类型](#incident-types-covered) - [工作原理](#how-it-works) - [技术栈](#tech-stack) - [快速开始](#getting-started) - [前置条件](#prerequisites) - [安装说明](#installation) - [开发](#development) - [生产构建](#production-build) - [部署](#deployment) - [GitHub Pages](#github-pages) - [其他平台](#other-platforms) - [项目结构](#project-structure) - [合规框架](#regulatory-framework) - [贡献](#contributing) - [许可证](#license) - [致谢](#credits) ## 概述 非洲的 K-12 学校越来越依赖数字系统——学生数据库、AI 驱动的学习工具、在线平台——但大多数学校缺乏记录在案的应急响应程序。当出现问题时,教职员工常常因为没有明确的规程而手忙脚乱。 该工具通过在几秒钟内生成一份**定制的、可打印的应急响应手册**来解决这一问题。教职员工只需填写其学校详细信息和具体事件,生成器便会生成: - 带有紧急标签的分阶段响应步骤 - NDPC(尼日利亚数据保护委员会)通知模板 - 致家长/监护人的沟通邮件 - 内部员工通知 - 证据保留清单 - 事后审查程序 **不会向任何服务器发送数据。**所有操作完全在浏览器中运行。 ## 功能 | 功能 | 描述 | |---------|-------------| | **4 种事件类型** | 数据泄露、有害 AI 输出、算法偏见/歧视、网络欺凌/在线安全 | | **NDPC 72 小时倒计时** | 根据发现时间戳自动计算合规通知截止日期 | | **个性化模板** | 预填您学校详细信息的家长邮件、员工通知和 NDPC 通知 | | **严重程度分级** | 低 / 中 / 高 / 严重 —— 调整每个响应步骤的紧迫性 | | **打印 / 保存为 PDF** | 一键生成针对实体记录优化排版的打印输出 | | **复制到剪贴板** | 立即复制任何沟通模板,以便在电子邮件或消息中使用 | | **事后检查清单** | 符合最佳实践的 8 步恢复和审查流程 | | **100% 客户端** | 无后端、无数据收集、无 cookie —— 首次加载后完全支持离线使用 | | **移动端响应式** | 支持手机、平板和桌面设备 | | **深色模式支持** | 遵循系统偏好设置 | | **Harmony Digital 品牌** | 为 Harmony Digital Consults Ltd 提供专业品牌展示 | ## 涵盖的事件类型 ### 1. 数据泄露 / 未经授权的披露 涵盖:账户被黑客攻击、设备丢失/被盗、内部人员失误、系统漏洞、第三方供应商违规。包括强制性的 NDPC 72 小时通知工作流。 ### 2. 有害 AI 输出 / AI 安全事件 涵盖:AI 工具在学校环境中生成暴力、色情、极端主义或误导性内容。包括 AI 工具暂停协议、安全防护升级和 ISO 42001 治理建议。 ### 3. 算法偏见 / 歧视事件 涵盖:在评分、内容过滤、学生安置或画像分析中由 AI 或系统驱动的偏见。包括 NDPA 2023 第 36 条规定的自动决策权、独立审计要求和纠正措施协议。 ### 4. 网络欺凌 / 在线安全事件 涵盖:学生骚扰、掠夺性接触、CSAM(儿童性虐待材料)、有害在线内容。包括安全防护优先响应、平台举报、警方转介标准和精神关怀支持清单。 ## 工作原理 ``` ┌─────────────────┐ ┌──────────────────┐ ┌────────────────────┐ │ Step 1 │ │ Step 2 │ │ Step 3 │ │ School Profile │ ──► │ Incident Details │ ──► │ Review & Generate │ │ │ │ │ │ │ │ - School name │ │ - Incident type │ │ - Confirm details │ │ - Principal │ │ - Severity │ │ - Generate │ │ - DPO │ │ - Description │ │ Playbook │ │ - Location │ │ - Data involved │ │ │ └─────────────────┘ └──────────────────┘ └────────────────────┘ │ ▼ ┌────────────────────┐ │ Generated Playbook │ │ │ │ 📋 Response Steps │ │ 📧 Email Templates │ │ ✅ Checklists │ │ 🖨️ Print / PDF │ └────────────────────┘ ``` ## 技术栈 | 技术 | 用途 | |-----------|---------| | **React 18** | UI 框架 | | **TypeScript** | 类型安全 | | **Vite** | 构建工具和开发服务器 | | **Tailwind CSS v3** | 实用优先的样式设计 | | **shadcn/ui** | 组件库(基于 Radix UI 基础组件) | | **Wouter** | 轻量级客户端路由(基于 hash) | | **Lucide React** | 图标库 | | **Plus Jakarta Sans** | 标题排版字体(Google Fonts) | | **DM Sans** | 正文字体(Google Fonts) | ## 快速开始 ### 前置条件 - **Node.js** >= 18.x - **npm** >= 9.x ### 安装说明 ``` # Clone repository git clone https://github.com/Chukwuemerie-ezieke/school-incident-response-playbook-generator.git cd school-incident-response-playbook-generator # 安装 dependencies npm install ``` ### 开发 ``` # 启动 development server npm run dev # 应用将在 http://localhost:5000 上可用 ``` 开发服务器支持热模块替换 (HMR) —— 对 React 组件的更改会立即显示,无需完全重新加载页面。 ### 生产构建 ``` # Build production 版本 npm run build # 输出位于 dist/public/ 中 ``` 构建会生成一个完全静态的网站(HTML + CSS + JS),且不依赖任何后端。 ## 部署 ### GitHub Pages 本仓库包含一个 GitHub Actions 工作流,它会在每次推送到 `main` 分支时自动构建并部署到 GitHub Pages。 **启用步骤:** 1. 进入您的仓库 **Settings** → **Pages** 2. 在 **Source** 下,选择 **GitHub Actions** 3. 推送到 `main` —— 剩下的工作由工作流处理 网站将上线于: ``` https://chukwuemerie-ezieke.github.io/school-incident-response-playbook-generator/ ``` ### 其他平台 生产构建 (`dist/public/`) 是一个静态网站,可以部署在任何地方: | 平台 | 命令 / 方法 | |----------|-----------------| | **Netlify** | 拖放 `dist/public/` 文件夹,或连接仓库 | | **Vercel** | 在项目根目录运行 `vercel --prod` | | **Cloudflare Pages** | 连接仓库,构建命令:`npm run build`,输出目录:`dist/public` | | **AWS S3** | 将 `dist/public/` 上传到启用了静态托管的 S3 存储桶 | | **任意 Web 服务器** | 将 `dist/public/` 的内容作为静态文件提供服务 | ## 项目结构 ``` school-incident-response-playbook-generator/ ├── .github/ │ └── workflows/ │ └── deploy.yml # GitHub Actions: build & deploy to Pages ├── client/ │ ├── index.html # HTML entry point │ └── src/ │ ├── App.tsx # Root component with routing │ ├── index.css # Global styles, design tokens, print CSS │ ├── main.tsx # React entry point │ ├── components/ │ │ └── ui/ # shadcn/ui components (Button, Card, etc.) │ ├── hooks/ │ │ ├── use-mobile.tsx # Mobile detection hook │ │ └── use-toast.ts # Toast notification hook │ ├── lib/ │ │ ├── playbook-generator.ts # Core playbook generation logic │ │ ├── queryClient.ts # TanStack Query client │ │ └── utils.ts # Utility functions │ └── pages/ │ ├── Home.tsx # Multi-step intake form │ ├── Playbook.tsx # Generated playbook display │ └── not-found.tsx # 404 page ├── shared/ │ └── schema.ts # TypeScript types and interfaces ├── server/ # Express server (dev only, not needed for static deploy) ├── package.json ├── tailwind.config.ts ├── tsconfig.json ├── vite.config.ts ├── CONTRIBUTING.md ├── LICENSE └── README.md ``` ### 关键文件 | 文件 | 描述 | |------|-------------| | `client/src/lib/playbook-generator.ts` | 包含所有手册内容逻辑——涵盖 4 种事件类型的响应步骤、沟通模板和检查清单 | | `client/src/pages/Home.tsx` | 带有验证功能的多步骤表单(学校概况 → 事件详情 → 审查并生成) | | `client/src/pages/Playbook.tsx` | 带有标签页的手册展示(响应步骤、沟通模板、事后处理) | | `shared/schema.ts` | `SchoolProfile`、`IncidentDetails` 和 `PlaybookData` 的 TypeScript 接口 | | `client/src/index.css` | 设计 token(海军蓝/琥珀色调色板)、Tailwind 配置和 `@media print` 样式 | ## 合规框架 本工具符合以下尼日利亚及国际框架的要求: | 框架 | 相关性 | |-----------|-----------| | **尼日利亚数据保护法 2023 (NDPA)** | 72 小时违规通知(第 40 条)、自动决策权(第 36 条)、儿童数据处理要求 | | **尼日利亚数据保护条例 2019 (NDPR)** | 遗留的数据保护框架——许多学校政策中仍在引用 | | **网络犯罪(禁止、预防等)法 2015** | 针对网络欺凌、黑客攻击和在线虐待的刑事转介标准 | | **儿童权利法 2003** | 处理学生数据和福利的学校的保护义务 | | **ISO/IEC 27001:2022** | 信息安全管理——事件响应、证据保留、恢复 | | **ISO/IEC 42001:2023** | AI 管理系统——AI 治理、缓解偏见、负责任地部署 AI | ## 许可证 本项目基于 **MIT License** 授权。详情请参阅 [LICENSE](LICENSE)。 ## 致谢 **开发者:** [Harmony Digital Consults Ltd](https://harmonydigitalconsults.com) 旨在帮助非洲 K-12 学校加强整个非洲大陆的数据保护和 AI 治理实践。

Harmony Digital Consults Ltd
NDPA 2023 · ISO 27001 · ISO 42001
在非洲建设更安全的数字校园

标签:ProjectDiscovery, React, Syscalls, TypeScript, 合规, 安全插件, 数据保护, 自动化攻击