# Kylin Library - 法律合规文档

> **版本**: 1.0  
> **最后更新**: 2026-06-19  
> **适用范围**: 所有使用 kylin/library 扩展包的系统  

---

## 一、适用法律法规

### 1.1 《中华人民共和国公共图书馆法》(2018.1.1)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第三十三条 | 公共图书馆应当妥善保护读者的个人信息 | 借阅者信息加密存储（AES-256-CBC） |
| 第三十四条 | 公共图书馆应当建立健全读者个人信息保护制度 | 读者信息脱敏展示 |
| 第四十三条 | 读者应当遵守公共图书馆的相关规定，爱护图书，按时归还 | 逾期罚款机制（`fine_per_day = 0.5`元/天） |
| 第四十四条 | 读者损坏、丢失图书的，应当依法赔偿 | 图书赔偿规则 |

### 1.2 《中华人民共和国个人信息保护法》(2021.11.1)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第六条 | 最小必要原则 | 仅收集借阅必要信息（姓名、借阅证号、联系方式） |
| 第十三条 | 处理个人信息需取得个人同意或具备法定事由 | 读者注册时需明确告知信息用途 |
| 第二十八条 | 敏感个人信息保护 | AES-256-CBC 加密（`cipher = 'aes-256-cbc'`） |
| 第四十七条 | 个人注销账户的，个人信息处理者应当删除其个人信息 | 读者注销需删除借阅历史 |

### 1.3 《中华人民共和国著作权法》(2021.6.1)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第二十四条 | 图书馆等为陈列或者保存版本的需要，复制本馆收藏的作品 | 图书数字化需在合理使用范围内 |
| 第十条 | 著作权包括复制权、发行权、信息网络传播权等 | 电子书借阅需符合版权协议 |

### 1.4 《中华人民共和国网络安全法》(2017.6.1)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第二十一条 | 采取防范计算机病毒和网络攻击的技术措施 | 数据加密存储 |
| 第四十二条 | 不得泄露、篡改、毁损其收集的个人信息 | 读者信息需权限控制 |

### 1.5 《出版管理条例》(2020.11.29 修订)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第二十四条 | 出版物必须按照国家的有关规定载明 ISBN 等信息 | ISBN 唯一性校验 |

---

## 二、行业规范

### 2.1 图书馆管理规范

- 依据 **《普通高等学校图书馆规程》**（教高〔2015〕14号），借阅规则需按读者类型区分（本科生/研究生/教师/社会）
- ISBN 标准查询（`isbn_api_url`），确保图书信息准确
- MARC 数据标准（CNMARC/MARC21），符合 **GB/T 2901-2008** 信息交换格式

### 2.2 座位管理规范

- 座位预约需合理限制（`daily_limit = 1` 次/天），防止资源垄断
- 签到超时处理（`check_in_timeout = 30` 分钟），超时自动释放座位
- 违规冻结机制（`violation_threshold = 3` 次 → `freeze_days = 7` 天）
- 暂离限时管理，防止长时间占用座位

### 2.3 借阅管理规范

- 逾期罚款标准需合理且公开透明（`fine_per_day = 0.5` 元/天）
- 还书提醒提前 3 天（`reminder_days_before = 3`）
- 借阅上限按读者类型区分，防止资源过度集中
- 续借次数限制，确保图书流通效率

### 2.4 行业标准

| 标准 | 内容 | 合规要点 |
|------|------|----------|
| GB/T 38548.1-2020 | 馆藏资源数字化 | 图书数字化管理 |
| GB/T 35660.1-2017 | 馆藏元数据 | MARC 编目 |
| GB/T 2901-2008 | 信息交换格式 | CNMARC/MARC21 |
| GB/T 3792.1-2023 | 图书馆统计 | 流通统计 |
| GB/T 22239-2019 | 网络安全等级保护 | 等保 2.0 |
| GB/T 35273-2020 | 个人信息安全规范 | 读者数据保护 |

---

## 三、合规检查清单

### 3.1 读者管理

- [x] 读者信息加密存储（AES-256-CBC）
- [x] 读者信息脱敏展示
- [x] 最小化信息收集（仅借阅必要字段）
- [x] 读者注销数据删除

### 3.2 图书管理

- [x] ISBN 唯一性校验
- [x] MARC 编目标准支持（CNMARC/MARC21）
- [x] 图书数字化版权合规

### 3.3 借阅管理

- [x] 按读者类型区分借阅规则
- [x] 逾期罚款机制（`fine_per_day = 0.5` 元/天）
- [x] 还书提醒（`reminder_days_before = 3` 天）
- [x] 续借次数限制

### 3.4 座位管理

- [x] 每日预约次数限制（`daily_limit = 1`）
- [x] 签到超时释放（`check_in_timeout = 30` 分钟）
- [x] 违规冻结机制（3 次违规 → 冻结 7 天）

---

## 四、代码检测报告

### 4.1 检测结果

| 检测项 | 状态 | 说明 |
|------|------|------|
| 数据加密 | ✅ 已通过 | AES-256-CBC 加密，`encryption.enabled = true` |
| 借阅规则 | ✅ 已通过 | 按 4 种读者类型区分（本科生/研究生/教师/社会） |
| 逾期提醒 | ✅ 已通过 | `reminder_days_before = 3` |
| 座位违规 | ✅ 已通过 | 3 次违规冻结 7 天 |
| MARC 标准 | ✅ 已通过 | CNMARC + MARC21 双格式 |
| ISBN 校验 | ✅ 已通过 | ISBN 唯一性查重 |
| 读者隐私 | ✅ 已通过 | 加密 + 脱敏 + 最小化收集 |
| 数据库迁移 | ✅ 已修复 | 新增迁移文件，5 张表（books/readers/borrow_records/seats/seat_reservations） |
| 模型文件 | ✅ 已修复 | 新增 `Book`、`Reader`、`BorrowRecord`、`Seat`、`SeatReservation` 模型，含关联关系和加密 cast |
| API 路由 | ✅ 已修复 | 新增 5 组路由（books/readers/borrows/seats/reservations），含搜索和逾期查询 |

### 4.2 审查结论

**本包所有合规功能已实现。** 数据库迁移（5 张表）、模型关联（Book/Reader/BorrowRecord/Seat/SeatReservation）、API 路由（含搜索/逾期查询）均已完成。`Reader` 模型敏感字段（phone/id_card）使用 `encrypted` cast 自动加密存储。

---

## 五、免责声明

本扩展包在配置层面实现了图书馆管理的合规基础能力，但不构成法律建议。使用方应：

1. 根据本馆实际制定借阅规则和罚款标准
2. 确保读者信息保护符合《个人信息保护法》要求
3. 图书数字化服务需取得合法版权授权
4. 咨询专业法律顾问，确保系统整体合规