这是一份译文。如果它与英文版有任何不一致,以英文版为准。
隐私政策
最后更新于 2026年10月19日。
会保存什么
你通过机器人命令设置的服务器配置:频道和身份组 ID、阈值、开关,以及你在某项设置里输入的文字——命令前缀、屏蔽词列表、验证面板的文字、触发定时清空频道的短语、你在过滤器中豁免的用户 ID。管理记录:案件编号、谁执行的、针对谁、你填写的原因,以及时间。在某项功能需要时,还会保存它所创建的消息或频道的 ID,以便之后管理它们。
配置文字会按你写下的原样保存,这是有意为之:你的版主必须能够回看服务器被设置成要做什么。它不是某个人关于自己的私密话语——它是你服务器的规则,由运营者写下。
活动计数,从机器人被添加的那一刻起。每位成员发送了多少条消息、在语音中待了多少分钟、每个频道有多热闹、服务器每小时的总量,以及谁加入或退出、是哪个邀请把他们带来的。如果开启了 Webhook 转发,则还有它把某位成员被拦截的消息发回了多少次,以及上一次是什么时候。这些只是计数器和时间戳,别无其他:任何地方都没有一行记录说明某人说了什么、在哪个频道说的,或是在哪一刻说的。排行榜所依据的按天明细会在 120 天后删除,加入与退出历史则在 400 天后删除。
计数从机器人到来的那一刻起就是开启的,这与它的大多数功能不同,因为一份要等到有人想起去找某项设置才开始的历史,是没人能信任的历史,而没有计数的那个月也无法补回。关闭它只需一行——/logs activity 加 off——计数会立即停止,而 /stats 会继续显示你关闭之前记录下来的内容。
机器人加入时开启的并不只有它,而本页以前曾说只有它。文字命令、管理日志、处罚阶梯、抽奖、snipe、AFK 和机器人的语言设置也会一并开启;文档页把它们与其他所有模块一起列出,并标明了哪个是哪个。其中,snipe 和 AFK 会保存与成员有关的内容:snipe 保存在内存里而不是数据库里,AFK 则只有在成员自己设置之后才会保存——下面的段落对保存什么、保存多久写得很准确。
AFK,只有在成员自己设置时才会有。他们处于离开状态这一事实、他们输入的原因、他们离开的时间、机器人为了之后能还原而替换掉的昵称,以及最多十条在他们离开期间提到过他们的消息的链接——哪条消息、在哪个频道、是谁发的、什么时候发的,绝不包含消息的文字。所有这些都会在他们下一次在计入的地方说话时删除(服务器可以列出不计入的频道),或在他们退出服务器时删除,或通过 /afk remove 删除——无论如何,三十天后都会删除。服务器可以关闭对提及的保存。
机器人在账号刚进来时对它做出的判断。如果开启了成员筛查,则包括它给出的分数、所属档位、触发的信号、机器人自行采取的任何处理,以及版主随后做出的决定。保存这些是为了让“我为什么被踢”有一个不是事后拼凑的答案,也因为“这个账号以前是否在这里加入又退出过”是一个需要有历史才能成立的信号。90 天后删除——对某个人的判断与它所引出的管理操作并不是一回事,只有后者才是记录。
人们向某项功能提交的内容,以及该功能由此产生的内容。封禁申诉及员工对它们的投票;员工申请、其答案及其投票;工单、其答案以及工单关闭时留下的评分;抽奖报名;活动报名与出席情况;公会等级、名册、员工备注与贡献理由;有人为你的服务器写的评价;合作伙伴申请及其自荐词。该列表中的四个字段是私下写下的文字,它们是加密的——下面的部分会准确指出是哪四个。
服务器备份,如果有人做了的话。/backup save 会保存服务器的结构快照以便重建:身份组名称和权限、频道名称、主题和权限覆盖、分类、表情和贴纸的元数据,以及带有所写原因的封禁名单。它不包含任何消息。它是你服务器自己的结构,存放在你让机器人存放的地方,而 /backup delete 会彻底移除一个槽位。
你的员工用 /message 构建的消息。未完成的草稿(闲置一周后丢弃)、保存的模板、定时稍后发送的帖子,以及每条帖子的记录以便编辑——90 天内没有编辑就会遗忘。这是你的员工写给机器人发送的文字,以及写的人是谁;不包含任何成员说过的话。
你服务器的问候语。你的员工构建的欢迎消息、告别消息和欢迎私信,欢迎卡与告别卡上的文字,以及如果为某张卡片上传了背景图片,则也包括它——它是以机器人根据上传内容重新绘制的图片形式保存的,因此原文件除了像素之外什么都不会保留。绘制卡片时,机器人会在那一刻从 Discord 获取加入或退出成员的头像,并且不保留其中任何内容。
等级(如果服务器开启)。 开启等级模块后,机器人只为每位成员保存一个数字——他们从消息和语音时长中获得的 XP——以及它最后一次变化的时间,此外什么都不保存:没有任何关于说了什么或在哪里说的记录。等级和排名都由这个数字算出。只要机器人还在服务器中,即使成员离开,这个数字也会保留,以便成员回来时奖励身份组能够恢复;机器人被移除三十天后,它会与服务器的其他数据一起被删除。如果服务器让其公开排行榜保持开启——默认开启,一个开关即可关闭——该成员在服务器中的名称、头像、等级和 XP 会显示在本站的一个公开页面上,任何持有链接的人都能看到。名称和头像在绘制页面时从 Discord 获取,从不写入数据库;绘制好的页面保留不到一分钟,这样访问量大的排行榜也不会每次浏览都请求机器人。
突袭回放,仅在防突袭检测到突袭或管理员标记某段时间时才会有。 期间有哪些账号在何时加入、每个账号的账龄、是否有头像、由用户名生成的仅含字母的密钥(用于发现一批相似的名称,绝不保存用户名本身)、机器人或版主对每个账号采取的操作(踢出、封禁、禁言)、服务器是否被锁定,以及删除了多少条消息。绝不保存消息的文字内容。保存 30 天,每个服务器最多 25 次突袭,机器人离开服务器时会与其他所有数据一并删除。
建议(需服务器开启)。 一条建议会保存写下的内容、提出者、卡片发布的位置,以及管理组答复后的结果、答复人和理由。每一票是一行:哪条建议、哪位成员、投向哪边。匿名建议同样会记录提出者,因为每人上限和冷却时间要据此计算;它不会在任何地方显示。机器人被移出服务器三十天后,这些内容会连同该服务器的其余数据一并删除。用 /suggest bot 提出的建议是关于机器人本身而非某个服务器的:它会连同你的名称、你的 ID 和来源服务器一起送到支持服务器的一个频道,并且完全不会被保存。
生日(成员自行设置时)。在某人提供日期之前,/birthday 不会存储关于此人的任何信息。提供之后,它会保存对方给出的日和月;年份只在对方提供时保存,并用与下文机密文本相同的密钥加密,仅在显示年龄时读取,且只限于显示年龄的服务器;一个来自固定列表的时区;下一个生日开始的时刻;以及对方选择向哪些服务器分享,每个服务器一条记录,只由本人创建,不会由任何其他人创建。管理员可以删除某个服务器的记录,但永远无法设置或读取未在其服务器中分享的日期。不保存 13 岁以下的人:会使人低于该年龄的年份会被拒绝,且不存储任何内容。机器人绝不会给本人发消息。/birthday remove 会一次性删除日期和所有服务器的记录;成员离开某个服务器或该服务器的数据被删除时,该服务器的记录也会被删除;记录哪些庆祝已经公布的简短记录会在 400 天后删除。
使用 /birthday remove 删除生日时,该用户已公布庆祝的记录也会立即一并删除,无需等待 400 天。
临时身份组。当管理员把某个身份组借给某人一段时间时,机器人会保存谁持有、是哪个身份组、何时结束、是谁借出的,以及所输入的原因(最多 400 个字符),直到该身份组被收回。因生日或数错而借出的身份组也以同样方式保存,借出者为机器人。该记录会在身份组被收回时、成员被封禁时删除;除非服务器选择为其回归保留这段时间,否则成员离开时也会删除。
计数(服务器设置了频道时)。对每个计数频道,机器人会保存当前数到几、最后是谁数的、该频道使用的规则,以及在那里数过数的每位成员数对了多少个、弄断了多少次——只有 ID 和数字,绝不包含任何人所写的内容。计数频道中的消息在到达时被读取以作判断,不会被存储。所有这些在频道被删除、那里停止计数时,或在机器人被移除三十天后随服务器的其余数据一并删除。
Modmail 仅在服务器开启时才会运行。成员给机器人发送私信时,机器人会读取并转交给所选服务器的管理团队,转到该服务器指定的私密频道 —— 任何能看到该频道的人都能阅读,如果记录稿发布在服务器的日志频道,能看到该频道的人也能阅读。管理团队的回复会发到成员的私信;匿名回复会对成员隐藏发送者,但不会对其他管理人员隐藏。机器人不保存任何消息文本:只保存 ID、计数和时间,哪条私信对应频道中的哪条消息(帖子关闭三十天后删除),管理人员在关闭或封禁时输入的理由,以及保存的回复。已关闭帖子的记录会在服务器设定的天数后删除,默认九十天。对话本身和记录稿文件保留在该服务器的 Discord 中,遵循该服务器自己的规则。成员可以用机器人第一条回复下方的 Close this conversation 结束对话,用 Stop messages from this server 阻止服务器发起对话,或者干脆不给机器人发消息。没有任何第三方会收到其中的内容。
模板商店。如果你为某个模板评分,机器人会保存你的账号 ID、星级和时间。如果你发表评论,它会保存你的账号 ID、你当时的显示名称、评论文本和时间;你可以自行删除你的评论,所有者也可以将其移除。举报会保存你的账号 ID 和你输入的理由。为了让只有用过某个模板的人才能给它评分,机器人会在模板存在期间保存你应用了哪个模板、应用到哪个服务器 ID 以及时间。所有者会在每个提交的模板上架前阅读它,也会在待审核的评论显示前阅读它;无人作出决定的评论会在 30 天后被删除。为了限制同一账号或同一地址评论、举报或评分的频率,机器人会保存该地址的带密钥哈希(绝不保存地址本身),连同账号 ID 和时间,并在 30 天后删除。你仍在编写的模板会以密封(加密)形式保存 7 天。若要删除商店保存的有关你账号的一切,请在支持服务器中提出,所有者会执行删除。评论的文本(仅文本,不附带账号、名称或模板)会在评论发布之前,按上文 OpenAI 部分所述的条款发送到 OpenAI 的审核端点;被它标记或未能及时响应的评论,将被扣留给所有者,而不是发布。如果机器人没有 OpenAI 密钥,这一步会被跳过,其余检查单独生效。
绝不会保存什么
消息内容。数据库中没有任何东西保留人们在你的频道里说过的话,对此没有例外——数据库里没有任何一列保存着某人发布的消息。本页以前把工单记录列为例外,其实并不是:记录是在版主提出请求的那一刻,由 Discord 自己保存的历史生成的,并以文件形式发回你的服务器。这里不保留其中任何内容。有人特意提交给机器人的文字——封禁申诉、申请、开启工单时的表单、随评分留下的评论——会被保存,因为无法阅读的评价就不是评价;它是加密的,下面的部分会准确说明是哪些字段。成员用 /afk 给出的原因也是如此,保存到他们回来为止——没有加密,因为它不是私下写下的:任何提到他们的人都能看到。
有两样东西保存在数据库之外,两者都值得说清楚。第一是 snipe:/snipe 显示频道里最后被删除或编辑的消息,所以它必须保存一条:每个频道五条,最多两小时,存在内存里。没有任何东西被写下来,重启会忘掉全部,它也永远不会离开这个进程。任何能阅读该频道的人都可以请求查看——这正是这个命令的用途——而机器人是在回答的那一刻而不是消息被移除的那一刻检查这项访问权限的。它不会显示机器人自己删除的消息,也不会显示批量清除的任何内容,因为 snipe 不能成为回读管理操作的途径。想要收得更窄的服务器,可以用 /logs snipe 把它限制给版主,或直接排除某些频道;刚刚移除了某些内容的版主,可以用 /snipe clear 立即清除它。
第二是各项防护的计数器。防炸群、防突袭、防刷屏等等都是靠计数来判断的——一位版主在最近一分钟删除了多少个频道,最近三十秒有多少个账号加入——而这些计数每隔几秒就会复制到同一台机器上的 Redis 缓存里,这样重启机器人就不会给正处于攻击之中的人一份全新的额度。被复制的是ID——服务器的,以及相关成员或频道的——还有事情发生的时间,绝不包括任何人说过的话:防刷屏对近期消息的记忆留在进程里,重启就会忘掉。每一份副本都会自行过期——一小时之内,大多数在几分钟内——缓存从不写入磁盘,而且除了机器人自己,没有任何东西能访问它——网站不能,互联网也不能。在更新期间,当机器人的新副本从旧副本手中接管时,旧副本在最后几秒内应答过的消息和交互的 ID,会经过同一个缓存,最多停留三十秒,这样就不会有任何东西被应答两次。 这个缓存里只有一样东西会保留超过一小时:哪些新成员仍在某道关卡前——Discord 的规则界面、验证、隔离——等待服务器在加入时发放的身份组,保存为服务器的 ID、成员的 ID 和等待到期的时间,最多一天,这样更新时就不会忘记发放。
IP 地址。机器人从来看不到——Discord 不会向机器人暴露成员的地址,这里也没有任何绕过它的做法。唯一会读取地址的地方,是接下来要说明的网站连接检查,而且只读取一次,不保留:不保存、不记录、不做哈希。即使数据库被盗,里面既没有地址,也没有任何由地址派生出来的东西。
语音消息(当有人要求把它转成文字时)。 /transcribe 会取得该语音消息,并用在机器人自己的服务器上运行的语音模型把它转成文字。音频不会发给任何其他公司或服务;只在听写期间保留,完成后立即删除。文字只发布在使用命令的频道里,不会保存在别处——不会留下所说内容的任何记录。为防止一个人占满机器,机器人会在内存中统计每个人和每个服务器在过去十分钟内请求了多少次;这些计数之后会被遗忘,重启则会立即清空。
五个第三方,以及各自得到什么
在这个网站的大部分历史里,它都可以说没有任何第三方见过你的成员。自从验证模块新增了拒绝 VPN 和代理之后,这就不再成立,因为一个地址是否属于 VPN,只有信誉服务才掌握。下面五者每一个默认都是关闭的,除非服务器把它打开;一旦开启,接下来所说的就是发生的全部。
proxycheck.io。设置所适用的成员会收到一个指向本站某个页面的一次性链接。当他们按下页面上的按钮时,连接地址会被一次性发送给 proxycheck.io,问题是“这是不是 VPN、代理或托管地址段”,除此之外别无其他——没有用户名,没有服务器,没有账号 ID。答案只读取那一个比特,然后丢弃。知道成员是谁的机器人永远收不到地址;看到了地址的网站永远不知道成员是谁。之后留下的只是成员验证记录上的一个时间戳,说明连接是干净的,而被拒绝时什么都不留下。
Cloudflare Turnstile。作为可选项,同一个页面会带上 Cloudflare 的 Turnstile 小组件,使脚本无法替人按下按钮。该小组件的脚本是本站唯一会从其他来源加载的东西,只在那个页面上,而本页的内容安全策略在其他任何地方仍然禁止它。它的答案会在不附带地址的情况下与 Cloudflare 核对。Turnstile 并不取代 Discord 内的验证码,后者仍然在进程内绘制。
OpenAI。这是三者中最大的一个,也是会收到人们所发布内容的那一个,所以值得说清楚。服务器可以开启 AI 图片扫描,由一个模型判断一张图片是否含有色情、血腥、暴力或自残内容。没有任何关键词列表能读懂图片,也没有能在我们自己的机器上运行的版本,这是它出现在这里的唯一原因。
当服务器开启它之后,被扫描频道里发布的每一张图片,会作为该图片在 Discord 自己服务器上的链接,除此之外没有别的发送到 OpenAI 的审核端点——没有任何人输入的文字,没有用户名,没有账号 ID,没有服务器名称,没有频道名称。这涵盖上传的图片,以及——如果服务器保持开启的话——Discord 在链接下方显示的图片。答案以每个类别一个分数的形式返回,被读取来决定这张图片是否违反了该服务器的规则,然后被丢弃。这里不会写下其中任何内容,图片本身也绝不会存入我们的数据库。
OpenAI 如何处理它,用他们的话而不是我们的话。他们的文档写明,发送给 API 的数据“不会被用于训练或改进 OpenAI 的模型”,除非你明确选择加入,而我们没有。文档还写明,滥用监测日志“可能包含某些客户内容,例如提示词和回复”,并且默认“最多保留 30 天”。所以诚实的说法并不是图片在被扫描的那一刻就消失了:我们不保留其中任何内容,而 OpenAI 可能会保留最多三十天,用来监管他们自己的服务。不愿意让这种情况发生的服务器应当让这个模块保持关闭,这也正是它出厂时的状态。
在管理员启用该模块之前,它是关闭的。服务器可以豁免某些身份组、整个跳过某些频道或只扫描其中一部分、只扫描较新的成员,并跳过自己的版主,而模块的说明明确写着,开启它就会把图片发送到服务器之外。关闭该模块,就不会再发送任何东西。
两条诚实的局限。它擅长识别一般性的危害,但它不知道对你的服务器的威胁是什么样子——正在组织的突袭、诈骗、广告——因为这些不是该模型拥有的类别,而且它完全不读文字。并且 OpenAI 自己的文档说明,该端点不是为检测儿童性虐待材料而设计的,也不能替代专门的儿童安全措施;这里没有任何内容声称不是如此,而那条举报途径仍然属于 Discord。
没有任何其他东西被加载。没有分析工具,没有字体服务,没有来自任何人的 CDN 的脚本或样式表:除了连接检查之外的每个页面,都不会从其他来源获取任何东西,而且这是由内容安全策略强制执行的,而不是口头承诺。Cloudflare 确实作为网络位于本站前面——它能看到任何位于网站前面的网络都会看到的请求,也正是它让网站在洪水般的流量下仍能保持运行——但它没有得到关于你成员的任何东西,因为这些页面里没有任何关于你成员的东西。
YouTube 和 Twitch。服务器可以用 /alerts 关注某个 YouTube 频道或 Twitch 主播,机器人随后每隔几分钟向该服务询问有没有新内容。对 YouTube,它会发出一个请求,获取该频道的公开 RSS 订阅源,其中只写明该频道的公开 ID。对 Twitch,它会发送主播的公开登录名——与其他名字一起,每个请求最多一百个——并用这个机器人自己的 Twitch 应用签名,绝不使用成员的账号。两者都不会收到任何成员、服务器名称或频道名称,也都不会知道哪个服务器在关注谁。响应只会被读取最新的视频,或直播的 ID、标题和游戏,然后丢弃。保存下来的只有服务器选择关注的频道或登录名、发布的位置,以及最后一次已公告内容的 ID,以免同一件事被公告两次。在服务器添加关注之前,两者都是关闭的,移除关注即停止这些请求。
赞助行
运营此机器人的人可以设置一条赞助链接:一行标有赞助的简短文字,其内容和指向由运营者选择,费用由链接指向的一方支付。它会出现在本站的页脚,并偶尔出现在未开通高级版的服务器中机器人的某条回复下方:同一服务器每 45 分钟最多一次,且仅在该服务器已有至少 6 条其他回复之后,绝不会出现在管理操作、警告、私密回复或带按钮的消息下方。高级版服务器在 Discord 中永远不会看到它。本站无法得知读者是谁,因此页脚会向每位访客显示它。
它只是一个链接,仅此而已。不会从赞助方加载任何内容,也不会向其发送任何内容。为遵守上述规则,机器人仅在内存中——从不写入数据库——保留每个服务器上次看到该行的时间、此后那里发出的回复数,以及总共显示的次数;不记录任何个人,赞助方也看不到其中任何内容。机器人不记录点击,不做跳转,链接也不会携带来自本站的 referrer。如果你点击它,就会前往赞助方的网站,那里适用他们自己的政策。赞助方的文字按其原文显示,不作翻译。未设置赞助方时,这一行在任何地方都不存在。
这些都不会保留太久。一个服务器的记录会在它最后一次回复 24小时后被忘掉。同一时间最多保留 20,000 个服务器;满了以后,沉默最久的那个会被移除。所有这些,包括累计次数,在机器人每次重启时都会消失。
高级版令牌与你的账户
按账户的高级版只是一行记录:你的 Discord ID、是月度还是终身、何时到期、来自何处,以及你额外购买了多少次服务器切换。令牌只以其带密钥的哈希形式存储,因此数据库中没有任何可以还原为令牌的内容;令牌仅在铸造时存在于给所有者的回复中,之后不存在于任何地方。
每一次兑换令牌的尝试都会被记录——你的 ID、来自本站还是 Discord、结果如何,以及本站为该请求验证的地址的带密钥哈希,绝不记录地址本身。正是这些记录在几次错误令牌后锁定账户和地址,并让运营机器人的人看到多个账户背后的同一个地址。记录在 90 天后删除。
每个服务器都会记录是哪个账号添加了 sick;当该账号是高级版时,正是这条记录让服务器成为高级版。你添加 sick 的服务器也会记在你的账号下(服务器 ID 和时间),以便计算你的切换次数。该列表会被保留,sick 离开后服务器仍留在列表中,因为用掉的切换就是用掉了。
此域名上的邮件
本站还带有一个供运营者使用的小型邮件服务:所有者自己的地址,以及所有者已允许使用它的账号的地址,每个地址都需先在此登录,再从邮件站点打开。发往这些地址的邮件经由 Cloudflare Email Routing 和 Cloudflare Email Worker 到达,由 Worker 交给本站;当无法连接本站时,Worker 会把邮件在 Cloudflare Workers KV 中最多保留七天并重试。从这些地址发出的邮件经由 Cloudflare Email Sending 发出。以上就是涉及的四项 Cloudflare 服务,没有其他任何一方能看到邮件。
邮件在静态存储时是密封的。邮件到达时,本站先解析它,再用属于该邮箱的公钥将其密封——使用针对这封邮件的一次性密钥进行 AES-256-GCM 加密,该一次性密钥本身再用邮箱的 X25519 公钥密封——然后才交给机器人,机器人的数据库保存的是密封后的邮件:主题、发件人、收件人、正文、HTML、附件及其名称,以及原始字节;原始字节保留七天,以便解析器读错的邮件可以完整下载。打开它的私钥被包裹在由你的邮件密码派生的密钥(scrypt)之下,如果你创建了恢复密钥,还会被包裹在一次性恢复密钥之下;机器人从不持有私钥,只保存你密码的单向哈希。这是静态零访问(zero-access at rest),而不是零知识(zero-knowledge):本站在解析到达的邮件时以及你的邮箱处于解锁状态时,会在内存中读取你的邮件,因此任何能够更改本站所运行代码的人都可能读到它,但所有者无法从数据库中读取。你解锁后的密钥只存在于本站的内存中,最长一天,重启会锁定所有邮箱,直到你再次输入密码。邮件中的远程图片绝不会由本站获取:只有在你要求时才会在你的浏览器中加载,而图片加载会让发件人知道你何时、从何处打开了邮件。
当你用 Discord 登录本站时,会记录你的 Discord id、用户名和头像哈希以及时间,以便所有者在分配地址前看到谁登录过。垃圾箱和垃圾邮件会在邮件进入三十天后删除其内容;被撤销的邮箱在撤销十四天后删除。如果你向所有者申请访问,该申请(相同的 id、用户名和头像哈希以及时间)会保留到所有者回复或满三十天为止,并由机器人通过 Discord 私信通知所有者。没有任何其他邮件信息与 Discord 共享。
发送按收件人计数,依据的是为发送邮件本来就保留的发件箱记录,因此不会为此收集任何新内容。邮件不断被退回的邮箱,其发送会被暂停,直到所有者查看为止。发往这些域名上 postmaster@ 或 abuse@ 的邮件会送达所有者。
有些内容以明文保留,因为服务必须在没有你的密钥时读取它们:邮件位于哪个文件夹和标签页、它的标记(已读、加星、重要、已延后)、到达时间、大小、所属会话、附件数量、附件的文件类型和内嵌图片 id、邮件发往你的哪个地址、你使用的加号标签、发件人检查的结果,以及其标识符(Message-ID、References)和发件人的带密钥摘要。你为发件人设置的规则——你归档、屏蔽或允许加载图片的某个地址或域名——同样是明文。邮件到达时,机器人会在内存中读取其发件人、收件人、主题、邮件头和附件名称,以便将其归入某个标签页并应用滥用规则,并且不会以明文记录其中任何一项。自密封开始以来持有人尚未用密码登录过的邮箱,其较早的邮件保持原样,服务可以读取;所有者会看到是哪些邮箱,每个邮箱会在其持有人登录后立即被密封。
搜索依靠带密钥的摘要,而不是你的文字。当你的邮箱处于解锁状态时,每封密封邮件最多会得到 512 个摘要(HMAC-SHA256),对应其中的完整单词以及发件人和收件人,并使用一把随机的搜索密钥制作,这把密钥只以包裹在你的密码和恢复密钥之下的形式存在。因此搜索能找到完整单词和精确地址——而不是前缀、词形变化或短语——而持有数据库副本的人无法拿猜测的词去比对它们。代价有两项:邮箱锁定期间送达的邮件,要等你下次解锁后才能搜索;而以明文保留的标识符和发件人(见上)的带密钥摘要,是使用网站持有而数据库没有的秘密制作的,因此同时持有两者的人可以测试某个猜测的地址或 Message-ID 是否出现。
你以撤销或定时方式发送的邮件,会以发送器所需的形式在发件箱中等待:因为发出时它必须可读,所以在发送、取消或被彻底拒绝之前,它一直保存在机器人自己的服务器密钥之下,然后被删除。你已发送文件夹中的副本仍然是为你密封的。你发送的邮件与其他邮件一样通过 TLS 发出,经由 Cloudflare Email Sending;发给你的邮件则经由 Cloudflare Email Routing 到达:Cloudflare 会在传输途中看到邮件,即在本站将其密封之前以及它发出之时。
你发送的邮件不带 Discord id、账号 id 或你浏览器的地址:发信域名下的随机 Message-ID,没有 X-Mailer、User-Agent 或 X-Originating-IP 邮件头,From 行只显示你选择的地址,仅当你设置了显示名称时才带显示名称。别名是另一个投递到你邮箱的地址,你可以将其关闭、设置过期,或只允许回复一次。这并不意味着对运营该服务的人、对 Cloudflare 或对你写信的对象匿名:他们会看到你发信所用的地址、时间以及邮件内容。
如果你同时丢失了密码和恢复密钥,你的邮件将无法打开,没有人能替你恢复,所有者也不能。当所有者重置某位持有人的邮件密码时,该密码所能打开的密钥也会被删除:在此密钥下密封的邮件将永远无法再被读取,并在三十天后删除。
音乐与歌词
当服务器开启音乐播放器时,机器人会通过与它在同一台机器上并行运行的 Lavalink 节点,在语音频道中播放音频。节点只会从成员所请求的网站获取音频,不会从其他地方获取:SoundCloud(soundcloud.com, on.soundcloud.com, api.soundcloud.com, sndcdn.com)、Bandcamp(bandcamp.com)、Twitch(twitch.tv)、Vimeo(vimeo.com)、成员粘贴的 https 直接链接,以及——仅在所有者开启时——YouTube(youtube.com, youtu.be, music.youtube.com)。Spotify 链接(open.spotify.com, spotify.link)或 Apple Music 链接(music.apple.com)会在该网站上查询曲目名称,找到的匹配项则从 SoundCloud 播放;这两者都不会提供音频。这些网站各自只能看到节点为曲目发出的请求,就像任何浏览器打开该页面时一样,完全看不到服务器或提出请求的成员的任何信息。
机器人为播放器存储的内容:它所在的语音和文字频道、队列(每首曲目的标题、艺术家、时长、来源、节点为该曲目生成的标识,以及将它加入队列的成员 id),以及最近播放的二十首曲目;播放器停止或机器人离开服务器时,这些曲目就会被删除。成员保存的播放列表属于该成员,并以其 id 保存,直到他自行删除。歌词来自无需账号的开放数据库 LRCLIB(lrclib.net):发送给它的只有正在播放曲目的艺术家、标题和时长,没有其他数据,得到的响应只会显示,不会保存。
你的账户安全
你的邮箱用你自己的密码开启,在邮件客户端本身中设置,并与 Discord 分开保存。本站只在你输入时看到它,用于解开你邮箱的密钥,并不保留它;机器人为了校验而接收它,只保存它的单向 scrypt 哈希——一个任何东西都无法还原成密码的值,连我们也不行——并以此核对你输入的内容。密码本身不在任何日志、任何数据库列和任何 Cookie 中。
第二步是可选的,由你决定是否添加。验证器应用的密钥与发送代码的地址以 AES-256-GCM 加密保存,使用与上方机密文本相同、仅机器人持有的密钥;通行密钥仅以其公钥保存,可验证登录但永远无法生成登录;恢复代码只以加密钥哈希保存,如同高级令牌。发出的代码通过 Cloudflare Email Sending 从我们域名上的地址发出。任何第二因素方法都不会与任何人分享。
信任一个浏览器三十天会在 Cookie 中保存一个随机令牌,而在机器人这一侧只保存该令牌的加密钥哈希——永远不是令牌本身——因此你信任的浏览器列表不含任何能向他人识别该浏览器的信息。除了仪表板的三个登录 Cookie,邮箱在打开期间会设置几个自己的:让它保持解锁一天的那个、在回答其第二步时保留一次登录或一组密码的那个,有效期十分钟、标记发起邮件登录的浏览器以免登录被另一个浏览器完成的那个,以及信任浏览器的令牌。邮件会话在打开六小时后结束,如果你在共用主机上退出本站则更早结束。每次错误的密码或代码都会针对你的账户以及本站所证明的地址计数——你的 id 和该地址的加密钥哈希,永远不是地址本身——这会在一刻钟内数次尝试后锁定账户;这些记录会在一天之内删除。
收听记录——仅在你链接某项服务时
保存的内容。在有人链接来源之前,/fm 不会保存任何关于此人的信息。如果你链接 Last.fm 或 ListenBrainz,我们会保存你在那里的用户名。如果你还开启了向外 scrobble,我们会保存让机器人代你发送播放记录的密钥,并进行加密,仅在该功能开启期间保存——关闭或取消链接会将其删除。如果你使用 Discord 的 Spotify 状态,机器人只有在你同意后,才会在与你共有的服务器中读取你状态里的 Spotify 歌曲,并在你听了大约一半时记录一次播放。你的在线状态中的其他内容一概不读取。
保留的内容,以及谁能看到。机器人自己听到的播放记录——来自你的 Spotify 状态或它自己的音乐播放器——会保留一年。你的热门艺术家、专辑、曲目和流派(每类最多一千项)每隔几个小时从你的服务复制一次,以便服务器显示谁在听什么。好友、少量显示设置以及你选择隐藏自己的服务器也会保存。播放记录和列表只显示给你所在服务器中的人;只有在你开启后,你的 Last.fm 或 ListenBrainz 用户名才会出现在全局“谁知道”中,在你开启之前它是关闭的。/fm account 会显示所有这些内容并一次性全部删除,取消链接你的最后一个来源也会这样做。
Last.fm 和 ListenBrainz。当有人使用 /fm 时,机器人会向 Last.fm(ws.audioscrobbler.com)或 ListenBrainz(api.listenbrainz.org)请求已链接者的公开收听数据,只使用其用户名,不使用关于此人的任何其他信息。只有在向外 scrobble 开启时,机器人才会把它为此人听到的播放记录也发送给该服务,并用其密钥签名。专辑封面由机器人从 Last.fm 的图片服务器获取,绝不由你的设备获取。每项服务都有自己的隐私政策,它所保存的关于你收听的内容,在那里本来就是你的。
链接 Last.fm 在 Last.fm 自己的页面上进行:机器人向 Last.fm 索取一次性令牌,并把供你批准的地址交给你,之后再通过询问 Last.fm 得知你已批准。令牌只存在机器人的内存中,直到被使用或过去一小时,且绝不保存或记录。只输入你的 Last.fm 用户名即可在不批准任何东西的情况下链接,并且只会把该名称发送给 Last.fm,不含其他任何信息。链接 Discord 的 Spotify 状态需要机器人的 Presence intent;在开启之前,只提供另外两种方式。
导入记录。如果你把 Spotify 或 Apple Music 文件交给 /fm import,机器人只会读取一次,并只保存每条播放的时间、艺人、曲目和专辑。文件本身会在导入进行的那几分钟内存放在临时文件中,并在之后立即删除;不会发送给任何人。导入的播放记录会保存到你移除它们(/fm account 有按钮)或删除所有数据为止,并与其他播放一样显示:仅限与你同在服务器中的人看到。
王冠记录。读取服务器的王冠或“谁听过”排行时,机器人会记下那里每位艺人的王冠由谁持有,易主时则记下谁在何时从谁手中夺得——最长保留一年。删除你的收听数据会移除你曾持有的王冠,并忘记你从谁手中夺得过王冠。
加密
人们私下写下的自由文本,在保存之前会用 AES-256-GCM 加密,并且只在展示给它所写给的员工时才解密。共有五样:封禁申诉、员工申请的答案、开启工单时给出的答案、随工单评分留下的评论,以及某人随生日一并提供的年份。密钥由一个只存在于机器人自己环境中的密文派生——网站作为一个独立的服务运行,没有它,也无法使用它——所以单独拿到一份数据库副本,得到的只是密文。
直到 2026 年 9 月 19 日,这里说的都是三样,第四样就是原因:随工单评分留下的评论——“关闭这个工单的版主对我很不耐烦”就是其中会写的那类话——从该功能上线的那天起就是以明文保存的。它与加密的工单答案只隔着两个声明,在同一个文件里,而没有任何东西把这两者对照起来。现在它已加密,所有已保存的内容都已转换,而构建中的一项检查会拒绝任何这种形态的新字段,除非有人写明它属于两者中的哪一种。
未完成的申请。 较长的申请表单是分页提问的。已提交页面的答案以同样方式加密保存,直到最后一页提交(那时它们成为申请),或保存一小时,以先到者为准;申请人可随时丢弃。从未开始的人,不会保存任何内容。
直说不加密的有哪些:员工写在每个答案旁边的问题、版主在管理记录上输入的原因、成员设置 AFK 的原因——机器人会展示给任何提到他们的人——以及你服务器的设置。这些都不是某个人关于自己的私密话语,而加密它们会让你的版主失去搜索自己记录的能力。
删除
把机器人从你的服务器中移除后,为该服务器保存的一切会在三十天后自动删除,无需任何请求。
这个延迟是功能,不是陷阱。服务器移除机器人最常见的原因,是为了立刻以不同的权限把它重新加回来,而在它离开的那一刻就触发的删除,会把每一项设置、每一条警告和每一条管理记录一并带走。在期限内重新邀请,你的服务器就和你离开时一模一样;过了期限,就没有什么可以回来了。机器人不在时不会记录任何新内容——它看不到服务器——而且计时从最后一次离开重新开始,所以离开两次不会缩短它。
如果三十天太久,服务器所有者或管理员可以让它立即完成:在支持服务器里提出。这是按请求处理,而不是按计划进行。
登录面板
本站是sykbot.com,文档在sickenn.info。登录只在sicken.me进行,其他任何地方都不会,下面的 Cookie 也只属于这个地址——浏览器绝不会把它们发送到任何其他地址。其他任何地方要求你用 Discord 登录 sick 的页面,都不是本站。 邮件在mail.sicken.me读写。它没有自己的登录:它会把你送到sicken.me登录再带你回来,而它的 Cookie 只属于它自己。
网站没有数据库,所以登录状态保存在你浏览器里的一个 Cookie 中。登录时会向 Discord 请求两项范围,identify 和 guilds——你的名字和你所在服务器的列表,别无其他——而该 Cookie 保存返回的内容:你的 Discord ID、用户名和头像的 ID,以及这两项范围的访问令牌和刷新令牌。它用 AES-256-GCM 加密并认证,密钥只有网站持有,所以它在你的浏览器里无法被读取或篡改,而且服务器上没有写下关于它的任何东西。它还会记住你最近打开过的最多四个服务器,让它们排在列表前面。
你的头像和你的服务器图标是由本站从 Discord 获取并交给你的浏览器的,所以你的浏览器从不联系 Discord 的图片服务器,它们也永远看不到你的地址。本站不保留其中任何一张:每一张都是在页面请求它时才获取的,而你的浏览器和本站前面的网络可能会保留一份副本最多一周,所用的地址会在图片变化时随之改变。
当某项功能的设置页面打开并显示在屏幕上时,它会每分钟向本站——而不是任何其他人——重新请求一次你服务器的频道和身份组列表,这样刚刚建好的频道无需重新加载就能选到。该请求带有同一个 Cookie,并且只会回答给能打开该页面的人;这是这里任何页面在加载完成之后会获取的唯一一样东西,而内容安全策略只在那些页面上允许它。
它在你登录后持续三十天,这使人们无需再次连接 Discord 就能回来;之后浏览器会被送去经过 Discord,但不显示授权页面,因为这是一个你已经批准过的应用。一个月之所以安全,只是因为 Discord 一直掌控着它:每隔几分钟,网站就会询问 Discord 这次登录是否仍然有效,退出登录会在 Discord 撤销令牌——所以 Cookie 的副本也会随之失效——而在 Discord 自己的设置里,在已授权的应用下移除 sick,会从你这一侧结束它,所有设备同时生效。
第二个 Cookie 只保存数字 1,并且只在你退出登录之后才存在。它记录你退出过,这样下一次登录会显示 Discord 的授权页面——页面上带有 Discord 自己的“不是你?”,你就是靠它切换账号的——而不是跳过它。再次登录会把它移除。第三个在登录进行期间存在十分钟,保存一个随机值,用来证明从 Discord 返回的答复属于这个浏览器所发起的那次登录。这三个是本站设置的仅有的 Cookie。位于它前面的 Cloudflare 可能会设置它自己的短期 __cf_bm Cookie 来区分浏览器和机器人;那个属于 Cloudflare,这里没有任何东西会读取它。
谁能看到什么
配置对能够更改它的人可见——默认情况下指拥有管理服务器权限的人,对少数要求管理员权限的功能则更多。管理记录对你的版主可见。运营机器人的人不会例行去读你服务器的数据,而且也没有任何会让这样做变得方便的界面。