电脑防窥的状态机设计:从候选信号到确认保护

举报
yd_238028897 发表于 2026/08/19 01:53:58 2026/08/19
【摘要】 从候选信号、可撤销确认、暴露面分层、动作快照和 SingleFlight 出发,说明电脑防窥自动保护为什么不能“检测到一次就立即执行”。

有人突然靠近电脑与用户已经离开座位,是两种不同的防窥时刻:前者强调及时遮挡,后者强调会话不能继续被操作。超级看门狗 SuperWatchDog 是 Windows 本地隐私保护工具,通过用户预设的自动触发处理有人突然靠近、来不及操作电脑,以及离开后没有及时保护三类情况,并提供本地加密文件保险箱。

自动触发最容易犯的错误,是把“观察到一次变化”直接写成“事件成立”。设备与摄像头信号都有中间态,可靠设计需要候选、确认、执行和恢复四个阶段。

三个状态维度分别保存

Presence:Present / Uncertain / Away
Exposure:Visible / SessionAccessible / PrivateFilesOpen
Execution:Idle / Running / Protected / Partial

把它们压成一个枚举会产生大量组合。分别保存后,策略可以只读取当前需要的维度。

候选状态必须可撤销

原始观察
   ↓
Candidate
   ├─ 后续事实恢复 → Present / Cancelled
   └─ 确认规则满足 → Confirmed
async Task<bool> PromoteAsync(Signal signal)
{
    var revision = revisions.Next(signal.Subject);
    candidates.Store(signal, revision);

    await ruleSet.For(signal.Source).ObserveAsync(signal);

    return revisions.IsCurrent(signal.Subject, revision)
        && candidates.StillMatches(signal, revision);
}

新事实让旧 revision 失效,避免早先启动的延时任务在状态恢复后继续触发。

确认后再分类暴露面

有人靠近时,用户可能仍在电脑前;这时只需要快速遮挡当前内容。确认离开后,Windows 会话与私密文件才成为主要保护对象。

ActionPlan Decide(ConfirmedSignal signal, Snapshot current)
{
    var actions = new List<ActionStep>();

    if (current.VisibleContent)
        actions.Add(current.PreferredScreenAction);
    if (current.Presence == Presence.Away && current.SessionAccessible)
        actions.Add(ActionStep.LockSession);
    if (current.PrivateFilesOpen)
        actions.Add(ActionStep.ProtectFiles);

    return ActionPlan.Freeze(actions);
}

动作来自用户预设和当前暴露,不由具体传感器写死。

重复信号只补充原因

同一次离开可能连续产生 USB、蓝牙和离席确认。第一条确认事件建立执行会话,后续相关事件只追加原因:

ConfirmedSignal
      ↓
是否已有活动会话?
  ├─ 否 → 建立会话并固化计划
  └─ 是 → 追加来源,不重置计划
      ↓
SingleFlight
      ↓
逐项执行与核验
ProtectionSession Accept(ConfirmedSignal signal)
{
    lock (gate)
    {
        if (active?.CanMerge(signal) == true)
            return active.AddReason(signal.Source);

        return active = ProtectionSession.Create(signal, Decide(signal, ReadSnapshot()));
    }
}

保护后的恢复不能自动反向执行

蓝牙恢复或用户回到画面中,不表示旁人已经离开。恢复窗口和重新打开文件必须由用户主动确认。状态机因此不是简单的“断开就保护、连接就恢复”。

场景组合与产品边界

物理防窥膜处理侧面角度,隐藏窗口处理当前画面,锁屏处理登录会话,加密文件保险箱处理长期文件。真实环境常常需要组合,但每层边界必须说清楚。

超级看门狗保留手动触发,也允许配置 USB、蓝牙和可选视觉信号,条件成立时执行用户提前选择的屏幕、窗口和保险箱动作。本地加密文件保险箱用于私密文件的明确打开与锁定。自动信号可能受环境影响,正式依赖前应完成实际试用。

电脑防窥状态机的关键,不是一次检测值有多“智能”,而是候选能否撤销、重复能否合并、动作能否核验、恢复是否仍掌握在用户手中。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。