隐私政策
最近更新:2026 年 8 月
1. OpenedMic 是什么
OpenedMic 是一款基于浏览器的实时音视频直播服务。发起者开启房间;听众通过房间码、扫描二维码或直接链接加入。使用该服务无需安装,也无需注册。
该服务包含位于 https://www.openedmic.com/ 的公开落地页,以及位于 https://www.openedmic.com/app 的独立运行应用。应用面向浏览器使用,可在受支持的设备上作为主屏幕应用安装,无需应用商店。
2. 无需注册
OpenedMic 不要求你创建账号、提供邮箱或任何个人信息来使用本服务。你可以在不注册的情况下创建或加入房间。
3. 自托管分析与错误遥测中排除的数据
OpenedMic 的自托管 SQLite 分析数据库、分析导出与结构化客户端错误遥测在设计上不包含以下数据。但这不表示这些数据从不被处理。其中一部分会为运行直播房间而临时使用、保存在浏览器本地、由基础设施提供商处理,或通过联系表单提交,详见第 4、7、10 与 12 节。
- 姓名、电子邮箱、直播房间显示名称与头像
- 房间码、房间标识与房间标识的哈希值
- 原始或哈希后的 IP 地址。但原始 IP 仍会在服务器内存中临时用于限流,也会由基础设施与第三方提供商处理,详见第 4 与 12 节。
- OpenedMic 账号、用户或会话标识。OpenedMic 不创建用户账号,也不为直播服务用户分配持久用户标识。
- 设备或浏览器指纹
- 聊天消息内容
- 表情互动内容
- 房间密码
- 已复制链接的文本
- 任意类型的音频、视频或媒体内容
- 客户端的自由文本错误信息、原始调用栈与请求体
- 由 OpenedMic 为自托管分析记录创建的持久或会话标识
4. 会话期间的数据
在使用 OpenedMic 期间,以下信息可能被临时处理,以运行和保护服务。每项信息均按照下述生命周期被清除,除非第 5 节明确说明,否则不会写入自托管分析数据库。
- 房间码--6 位随机字符,仅在房间生命周期内保留在服务器内存中
- 显示名称与头像:由用户自愿选择,作为直播房间数据发送,在活跃会话期间保留于服务器内存,并可由其他参与者看到。显示名称也可能按第 10 节说明保存在你的设备上。
- WebRTC 信令数据:SDP offer/answer 与 ICE 候选会被实时处理以建立音频或视频连接,OpenedMic 应用服务器不会保留。对等端与连接提供商可能处理网络地址元数据,详见第 12 节。
- 聊天消息--在房间内实时转发,不在服务端保存
- 表情互动--实时转发;内容不保存,也不计入分析
- HTTP 请求限流:服务器会暂时以请求的网络 IP 地址作为内存键实施四项保护:每 60 秒最多 10 次 TURN 凭据请求、10 次客户端错误上报、每小时 5 次联系表单提交,以及每 60 秒 60 次自托管分析事件。地址会在使用前进行规范化,这些键不会写入 SQLite 或分析导出。四个内存映射都会每五分钟清理一次;同一地址再次请求时,也会移除过期时间戳。客户端错误与联系表单映射设有有限容量。任一映射已满时,新地址的请求会被拒绝,直到过期条目被移除。
- 发起者重连令牌--短生命周期的随机字符串,在直播期间存于
localStorage,键按房间隔离为om_btoken_[room],用于短暂刷新或断线后恢复同一房间。客户端 TTL 约 60 秒,服务端尊重 15 秒的重连宽限窗。令牌不与任何账号或资料关联--仅为绑定单个房间的随机值 - 获批嘉宾麦克风状态:每个房间的状态机与不透明请求令牌仅在房间生命周期内保留于服务器内存。令牌随机生成、不写入日志,并在批准、拒绝、取消或超时后删除。不会保存嘉宾标识。
4a. 嘉宾麦克风(需审批)- 隐私说明
当听众使用「嘉宾麦克风(需审批)」功能时,适用以下隐私属性:
- 需要并且必须显式授予麦克风权限。主播批准后,听众的浏览器会请求麦克风权限。若听众拒绝,嘉宾麦克风会干净结束,不会捕获任何音频。
- 嘉宾音频通过 WebRTC 传输。嘉宾到主播的连接会在可用时采用直连路径,也会在网络需要时使用加密的 TURN 中继。主播随后把该信号混入房间的输出音频。OpenedMic 不会在服务器上录制、转写或存储嘉宾音频。
- 主播设备上有一个仅本地的监听通道,用于通过所选音频输出听到获批的嘉宾。该监听不会作为额外音频流传输,也不会被录制。
- 不会保存任何嘉宾标识。主播在请求提示中看到的昵称与头像是会话级别的字符串(与上述会话数据列表中的同类数据相同),它们不会在服务器持久化,也不会被写入日志或分析。
- 嘉宾麦克风的运营分析仅使用枚举字段。服务器仅记录计数事件(如 guest_mic_requested、guest_mic_started、guest_mic_ended)以及直播模式与结束原因类别。绝不记录 socket id、房间代码、姓名、令牌、SDP、ICE、IP 地址或设备标识。
5. 自托管运营分析
OpenedMic 在服务器端运行一套自托管运营分析系统,数据存入本地 SQLite 数据库。系统保存固定的技术与运营字段,用于理解产品使用、服务状态与功能采用。其设计排除直接标识、假名化客户端或会话 ID、原始 IP、原始 User-Agent、房间码与 URL、姓名、联系内容及自由文本。若技术事件可关联到可识别个人,适用法律仍可能将其视为个人数据,因此本政策不把它们称为法律意义上的匿名数据。
分析系统记录的内容:
- 时间戳(UTC)
- 事件类型,包括创建房间;开始或结束直播;通过传入房间链接加载页面;尝试加入;听众加入或离开;连接达到 10 秒和 60 秒的里程碑;首位听众到达;加入失败;以及功能使用
- 所选直播模式或类别
- 房间为私密或公开
- 听众人数与峰值听众人数
- 以整数秒记录的运营时长,包括直播时长以及从创建房间到首位听众加入所经过的时间
- 语言 / 区域设置
- 从请求派生的通用设备类型(移动 / 平板 / 桌面 / 未知)
- 从请求派生的通用浏览器族(chrome / safari / firefox / edge / 未知)
- 从请求派生的通用操作系统族(ios / android / windows / macos / linux / 未知)
- 加入来源类别(二维码 / 直接链接 / 手动房间码 / 未知)。由于复制链接和系统原生分享产生的 URL 未被单独标记,直接链接类别也包含这两类访问。不会保存房间 URL 或房间码。
- 功能使用计数(例如:屏幕共享启用、录制开始)
- 结构化的错误类别代码(来自预定义列表,例如 room_not_found、wrong_password、room_full、mic_permission_denied)
- PWA 相关交互信号(例如:安装提示已展示、安装已确认、独立模式启动被识别)
- 事件发生时的服务器版本
为衡量听众漏斗,OpenedMic 会在以下情况保存技术事件行:加载带有六字符房间参数的传入房间链接页面;尝试加入;听众加入或离开;听众连接保持活动至少 10 秒或 60 秒;房间迎来首位听众;或因 room_full 等允许的原因加入失败。报告会将这些事件行汇总为计数和时间摘要。根据事件不同,一行可能包含 UTC 时间戳、事件类型、粗粒度加入来源类别、语言设置、直播模式、私密或公开状态、听众人数、以整数秒记录的经过时间、粗粒度设备、浏览器与操作系统族,以及服务器版本。它不包含房间码或房间 URL、密码、显示名称、socket 或听众 ID、IP 地址、原始 User-Agent 字符串、媒体内容或任何持久性或会话标识。
自托管运营分析存储在已配置的 SQLite 数据库中。应用启动时,如果配置了正数的保留天数,早于该天数的记录会被删除。如果保留值为零或未设置,则不会按记录年龄自动删除;记录会一直保留,直到被手动删除,或底层数据库或存储被移除。
原始 User-Agent 字符串从不保存。浏览器、操作系统与设备类型在请求时从 User-Agent 派生;派生后原始字符串立即丢弃。
所有用于读取与汇总分析的端点--包括 /stats 汇总页、/analytics/* 接口以及运营端点 /logs、/ops 与 /ops/snapshot--均需持有者令牌(bearer)鉴权,且在生产部署中进一步限制到独立的运营主机名下。这些端点均不对公众开放。
6. 结构化客户端错误遥测
应用包含轻量的客户端错误上报机制。浏览器发生技术错误时,应用可能向服务器发送仅限以下固定技术字段的遥测:
- 错误类型类别(预定义列表,例如 JS_ERROR、UNHANDLED_REJECTION)
- 错误族、阶段与来源界面(预定义列表,例如 "permissions"、"browser_api"、"app")
- 错误的行号与列号
- 通用浏览器、操作系统与设备类型(从 User-Agent 派生;原始 UA 已丢弃)
- 语言 / 区域设置
自由文本错误信息、原始调用栈、请求体、源文件路径,以及任何可能包含用户生成内容或标识信息的字段,均不上传也不保存。客户端在发送前主动剥离这些字段。
7. 联系表单
当你在 openedmic.com/contact.html 提交联系表单时,请求会发送到 OpenedMic 服务器进行校验。服务器校验格式,仅记录不含内容的运营事件(成功提交计数),然后向你的浏览器返回响应。
联系内容--包括姓名、邮箱、主题与消息--会一次性转发至预先配置的出站 webhook,以便服务运营方接收并回复你的消息,转发后即删除。转发之后,内容不会保存在 OpenedMic 的任何数据库、日志或分析系统中。webhook 提供方的隐私政策约束其在自身一侧的留存。
如果出站端点暂时不可用或未配置,服务器同样不会保存消息内容:界面会提供替代方式,让你直接通过邮件发送到 hello@openedmic.com,从你自己的邮件客户端联系运营方。
8. 第三方分析服务
公共网站与直播应用不会加载第三方分析标签,也不会从你的浏览器向外部分析服务商发送产品使用事件。第 5 节所述的自托管运营分析仍在使用。
9. 可安装的网页应用
OpenedMic 支持在兼容设备与浏览器上作为主屏幕应用安装。安装时:
- 应用外壳从同一来源(origin)提供--不涉及任何应用商店
- 浏览器会注册 Service Worker,用于可靠加载静态资源(字体与脚本),并在离线时显示基本提示页
- Service Worker 不缓存 HTML 页面或动态内容。直播会话功能--创建房间、加入、音视频流、信令--需要在线连接,离线状态下不可用
- 若你拒绝安装提示,
localStorage会保存一个标记,避免重复提示 - 安装后以独立模式运行时,自托管分析可能记录一条技术性的安装使用事件
10. Cookie 与浏览器存储
公共网站与直播应用不会创建分析或广告 Cookie。它们会在你的设备上使用功能性浏览器存储:
- 显示名称(
localStorage键:openedmic-username):在同一设备上跨访问记住输入的名称。加入直播房间时,该名称作为会话数据发送并可能向参与者显示。它会保留到被替换或网站数据被清除。 - 应用语言偏好(
localStorage键:openedmic-app-lang)--跨访问保存你在应用中选择的界面语言 - 落地页语言偏好(
localStorage键:openedmic-lang)--保存你在落地页选择的界面语言 - 落地页无障碍设置(
localStorage键:openedmic-a11y)--若你在落地页调整过对比度、动态与字号,保存相应偏好 - 应用安装提示拒绝标记(
localStorage键:pwa-dismissed)--若你拒绝过安装提示,用以避免再次显示 - iOS 安装提示拒绝标记(
localStorage键:pwa-ios-dismissed)--若你拒绝过 iOS 的"添加到主屏幕"提示,用以避免再次显示 - 发起者重连令牌(
localStorage键:om_btoken_[room])--仅在直播期间存在,用于页面刷新或短暂断线后的重连。客户端 TTL 约 60 秒;之后被视为过期并移除,服务端仅在 15 秒宽限窗内接受重连
功能性 localStorage 值用于恢复偏好、避免重复安装提示、复用显示名称或维持活跃会话。清除网站数据会删除这些值。ops.openedmic.com 上受访问控制的运营面板只会在授权运营人员登录后创建一个严格必要的会话 Cookie,名称为 openedmic_dash_sid,并标记为 HttpOnly。该 Cookie 使用 Secure 与 SameSite=Strict,采用 30 分钟滚动过期时间,不用于公共访客、分析或广告。
11. 本地录制
若你在直播期间使用本地录制功能,音频与/或视频通过 MediaRecorder API 直接在你的浏览器中采集,并以 WebM 文件形式保存到你的设备上。任何内容都不会上传到任何服务器。OpenedMic 无法访问你的录制。你对自己创建的每一段录制都拥有完整控制权。
12. 基础设施与第三方服务
- Render.com:Node.js 服务器源站托管。平台可能按其政策处理 IP 并生成标准访问日志。
- Cloudflare:提供 DNS 和配置后启用的网络防护。浏览器连接经过 Cloudflare 代理的 OpenedMic 域名时,Cloudflare 可能接收包括 IP 地址在内的连接元数据。
- Google Fonts:公开信息页面会向 Google 域名请求样式表与字体,Google 因此接收包括 IP 地址和浏览器请求头在内的连接元数据。
/app中的直播房间应用使用本地托管字体,不会请求 Google Fonts。 - Metered.live:直连 WebRTC 不可用时使用的 TURN 中继。服务处理连接元数据,并可能实时中继加密媒体。
- Google STUN:
stun.l.google.com可能帮助建立 WebRTC,包括在 TURN 凭据不可用时作为后备。 - 联系消息交付提供商:若已配置,会通过 webhook 接收第 7 节所述的姓名、邮箱、主题、消息、提交时间与来源页面。
浏览器连接任何托管、字体、CDN、STUN 或 TURN 提供商时,都必然向该提供商暴露 IP 等网络元数据。WebRTC 对等端及发现或中继服务也可能处理建立连接所需的网络地址元数据。各提供商的条款、隐私政策与保留做法适用。
13. 无广告
OpenedMic 不展示付费广告,也不会使用自托管运营分析建立广告画像。
14. 儿童
根据服务条款,OpenedMic 仅面向年满 18 周岁的用户。OpenedMic 不会有意向儿童索取个人信息。本政策所述的自动技术、网络与自托管运营处理可能在他人访问网站或使用服务时发生。若你认为儿童通过联系表单或直播会话提交了个人信息,请联系 OpenedMic 进行核查。
15. 政策的变更
本政策可能随着服务变化而更新。本页顶部的日期代表最近更新时间。在更新后继续使用本服务即表示接受新版政策。
16. 联系我们
如有关于本隐私政策的问题,请使用联系页面。