前言
安全和隐私是AI应用的关键!端侧AI的优势就是数据不离开设备!
1. 端侧AI的隐私优势
| 对比项 | 云端AI | 端侧AI |
|---|---|---|
| 数据传输 | 需要上传 | 不离开设备 |
| 隐私保护 | 依赖服务商 | 完全控制 |
| 数据存储 | 在云端 | 本地存储 |
2. 安全最佳实践
2.1 输入验证与清理
javascript
function sanitizeInput(input) {
// 移除敏感信息
const sanitized = input
.replace(/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g, '[EMAIL]')
.replace(/\d{11}/g, '[PHONE]')
.replace(/\d{17,18}/g, '[ID]');
return sanitized;
}
// 使用
const safeInput = sanitizeInput(userInput);
2.2 内容安全过滤
javascript
class ContentSafety {
constructor() {
this.patterns = {
personalInfo: /\d{11}|[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/,
sensitiveWords: new RegExp('敏感词1|敏感词2', 'i')
};
}
check(input) {
const issues = [];
if (this.patterns.personalInfo.test(input)) {
issues.push('包含个人敏感信息');
}
if (this.patterns.sensitiveWords.test(input)) {
issues.push('包含敏感词汇');
}
return {
safe: issues.length === 0,
issues
};
}
}
3. 数据持久化安全
javascript
class SecureStorage {
constructor(storageKey) {
this.key = storageKey;
}
// 基础存储(实际生产可以考虑加密)
save(data) {
try {
const serialized = JSON.stringify(data);
localStorage.setItem(this.key, serialized);
return true;
} catch (error) {
console.error('存储失败:', error);
return false;
}
}
load() {
try {
const serialized = localStorage.getItem(this.key);
return serialized ? JSON.parse(serialized) : null;
} catch (error) {
console.error('读取失败:', error);
return null;
}
}
clear() {
localStorage.removeItem(this.key);
}
}
4. 权限控制
javascript
class AIPermissionManager {
constructor() {
this.permissions = new Map();
}
// 请求权限
async requestPermission(feature) {
// 可以在这里显示UI给用户确认
const granted = await this.showPermissionDialog(feature);
if (granted) {
this.permissions.set(feature, true);
localStorage.setItem(`ai_permission_${feature}`, 'true');
}
return granted;
}
// 检查权限
hasPermission(feature) {
if (this.permissions.has(feature)) {
return this.permissions.get(feature);
}
const stored = localStorage.getItem(`ai_permission_${feature}`);
return stored === 'true';
}
// 显示确认对话框
async showPermissionDialog(feature) {
const descriptions = {
'chat': '允许使用AI聊天功能',
'write': '允许使用AI写作功能'
};
return confirm(`${descriptions[feature] || '继续'}?`);
}
}
5. 今日小结
这一篇我们学习了:
- 端侧AI的隐私优势
- 输入验证与清理
- 数据持久化安全
- 权限控制
6. 下篇预告
下一篇,我们学习 端侧AI离线应用开发!