卸下身份,戴上面具
熟人聚会,恣意起舞

欢迎参加这场熟人专属假面舞会。虽处熟人局,却猜不到发言者。
不映射身份,只留纯粹的信息与博弈,让每一次聚会都能恣意起舞。

≤ 8
人 上限
L4
层 匿名防护
½
过 半 即 生 效

😰 困境

每一个顶着真名的头像背后
都是小心翼翼的人设伪装

闺蜜群里热火朝天的八卦——你想参与,但不敢说太多,怕哪天截图外泄,引火烧身。
业主群里吵翻天的电梯加装争议——你有真实想法,但怕得罪楼上楼下的邻居。
同事群里对福利和团建的吐槽——你憋了一肚子话,但怕被认出来,影响年终考评。
合伙人圈子里对投资标的的真实判断——你怕站错队,影响自己在团队里的位置。

市面上常见的即时通讯 App 里,每个字都被永久绑定到你的名字和头像。 熟人社交的问题不在于没地方说话——而在于你不敢说真话。

⚖️ 定位

不是另一个匿名树洞
也不是又一个熟人聊天工具

假面舞会占了一个独特的位置:它既有匿名工具的硬核安全底层,又有释放真实自我的心理张力——但它服务的,始终是你通讯录里那几个真正认识的人

普通群聊
匿名树洞
假面舞会
聊天对象
熟人
陌生人
熟人小圈子
身份暴露
完全暴露
匿名
协议层绝对匿名
UI 去身份化
头像+昵称
伪昵称·可猜
无头像/昵称/色彩
群规模
无限制
无限制
严格 ≤ 8 人
民主自治
群主独裁
投票决定一切

🎭 场景

拉上你的 8 人小圈子
开启第一场假面舞会

诸多类似的熟人匿名场景——让开撕变成蛐蛐,让尴尬冷场变成盲盒试探,让实名举报化身匿名吹哨,让利益冲突变成匿名表决,让每一位假面客都能恣意起舞。

💅 闺蜜爆料
深夜卧谈会(6)
22:08
听说最近有人在和183男大私会?
哇哦,是哪位小奶牛在吃嫩草呀?哈哈哈
禁止造谣!
哈哈哈,你是谁,解释就是掩饰!
↩ 引用:禁止造谣! (22:10)
你们太八卦了😄
↩ 引用:哇哦,是哪位小奶牛在吃嫩草呀?哈哈哈 (22:10)
这一听就是Eva
↩ 引用:你们太八卦了😄 (22:11)
放屁才不是我,谁不爱吃瓜!
↩ 引用:这一听就是Eva (22:12)
哈哈哈哈笑死
↩ 引用:放屁才不是我,谁不爱吃瓜! (22:12)
哈哈哈哈笑死
发送
🏠 业主博弈
幸福里业主群(8)
20:15
安电梯是对整栋楼大家都好的事,我是真不理解为什么有人会拒绝签字?
站着说话不腰疼,电梯直接挡住我们一二楼的光。你在高层享受便利,我们底层承担贬值,换你你签?
↩ 引用:安电梯是对整栋楼大家都好的事... (20:16)
那低楼层少交点钱,或者干脆不交,让高楼层的多出一些费用?
低楼层不是少交不交的问题,是根本不该交,甚至高层应该给底层现金补偿!
想得太美了吧?你还想靠按个电梯赚笔钱咋的?
↩ 引用:甚至高层应该给底层现金补偿! (20:18)
说句公道话...
发送
💼 匿名吹哨
某司员工匿名圈(5)
14:18
强烈建议各个节日都发放实体礼品券或大牌卡,隔壁公司都发,咱们每次都是小点心。
建议公司多搞非强制、纯吃喝的年轻派聚会,大家除了对需求,坐一起吃饭的时间太少了。
别扯这些没用的,占用周末的聚会千万别搞!多发点工资比啥凝聚力都强!
↩ 引用:建议公司多搞非强制、纯吃喝的... (14:22)
14:30
感谢大家的大实话。已全部无痕收集,下周一管理层开会直接讨论,稍后在官方通道给大家反馈。
收到,感谢反馈
发送
📊 匿名表决
川海基金·核心圈(4)
10:28
大家怎么看今天推的这个新能源上游材料的案子?老大的意思希望这期基金能重仓跟进。
看了DD报告,账面现金流很漂亮,技术壁垒在未来三年看也是稳的,可以冲。
我泼个冷水。创始团队有严重的股权代持纠纷,重资产扩张太盲目。如果非要投,建议签署极度苛刻的反稀释和对赌协议。
同意风险提示。另外他们二号位有套现离职迹象,这案子水很深,别被一表人才的创始人忽悠了。
↩ 引用:我泼个冷水。创始团队有严重的... (10:32)
同意,水很深
发送

🔧 机制

匿名不是混乱
秩序诞生于规则

市面上常见的"匿名"只是把昵称换成了"善良的芒果"——熟人通过语言风格和表达习惯,分分钟猜出是谁。 假面舞会的匿名从数据库列级权限开始,贯穿整个协议栈,直至 UI 层的每一个像素。

协议层绝对匿名

不是前端换个昵称的假把式。sender 字段在服务端序列化时即被剥离——即使抓包、翻前端缓存,也无法追溯任何一条消息的来源。

L1 列级权限 — sender_id 列对所有客户端账号彻底锁死。数据库拒绝任何前端查询,不是"藏起来",是根本不给你读。
L2 脱敏视图 — 历史消息通过剥离了发送者列的专用 SQL 视图读取。在数据库引擎层面,"sender" 这个概念就不存在。
L3 广播通道 — 实时消息不走会泄露整行的 Postgres Changes,改由服务端触发器亲手拼装不含发送者的数据包再广播。
L4 类型隔离 — 前端 TypeScript 类型定义里就不存在 sender 字段。开发者连写错代码的机会都没有——编译器级别的最后一道保险。

民主博弈机制

没有群主独裁。拉人入群、踢出成员、发起冬眠、复苏解禁、集体删除消息——所有重大决定,全部通过居中强弹出窗即时闭环投票。

4/6 同意
超过半数的一瞬间
即刻自动执行结果
无视剩余倒计时
绝对过半,即刻生效
同意票 > 群成员总数 / 2 的瞬间,立即判定通过并自动执行。24 小时超时未过半则自动驳回。发起后无人可撤回——完全交由群体意志裁决。
集体无痕删除
长按任何消息发起删除投票。过半成员选择删除后,该消息在所有人屏幕上同步无痕蒸发——不留"某某删除了消息"的痕迹。

UI 层反识别设计

匿名不只靠后端——前端的每一个交互细节,都可能成为身份泄露的突破口。我们从系统层面堵死了所有追溯路径。

统一气泡,零视觉标识
无头像、无昵称、无固定颜色或个性化样式。全群所有人的消息气泡外观绝对一致——你无法从视觉上区分任何两条消息来自同一个人。
无已读 / 无正在输入
不显示"已读/未读"标记,不显示"正在输入…"动态。每一条消息都是孤立的——没有人能通过阅读状态或输入时机推断身份。
不可撤回,不可编辑
如果允许撤回,撤回行为本身就会暴露消息归属——你能撤回的,只能是你发的。不可撤回、不可编辑,从机制上杜绝了一切通过操作行为反推身份的可能。
智能时间戳 + 右滑引用
相邻消息超过 5 分钟才插入时间标签。右滑引用唤起双层模态浮窗,在全匿名的世界里顺着引用链洞悉上下文。

🚀 入场

四步,开启第一场舞会

1

注册身份

手机号注册,设置一个公共昵称。这个昵称只在通讯录可见——群聊中永不暴露。

2

添加熟人

通过唯一 User ID 精准搜索添加好友。你们互相确认过的关系,是进入同一个舞会的前提。

3

建群开聊

创建或加入群聊(≤ 8 人)。进入群聊后——无头像、无昵称、无色彩。所有消息外观完全统一。

4

民主自治

拉人、踢人、解禁、删消息——全部投票决定。过半同意,即刻自动执行。群体意志是唯一的规则。

"当一个人以全匿名的身份说话时
他展现的才是真正的自己"

现在,拉上你的 8 人小圈子,开启第一场假面舞会。

1
下载 APK 文件
点击上方 Android 按钮下载 app-release.apk 到电脑。如果用手机直接访问本页面,APK 会直接下载到手机。
2
传输到手机
用数据线连接手机和电脑,将 APK 文件复制到手机「下载」文件夹。也可通过微信 / QQ 发送文件给自己。
3
允许安装未知应用
打开手机「设置 → 安全 → 安装未知应用」,允许「文件管理器」或「浏览器」安装应用。部分手机在首次安装时会自动弹出提示。
4
点击 APK 安装
在文件管理器中找到下载的 APK 文件,点击安装。如弹出安全提醒,选择「继续安装」或「信任此来源」。
5
iOS TestFlight 测试流程
① 将你的 Apple ID 邮箱发给开发者,开发者会将你加入开发团队。
② 你会在邮箱收到一封来自 Apple 的团队邀请邮件,点击 Accept Invitation,登录你的 Apple ID 确认加入。
③ 打开上一步下载好的 TestFlight App,待测试的「假面舞会」就会出现在测试列表里,点击安装即可。
Made by Rudolux 沐光

请用浏览器打开

微信内无法直接下载 APK,请按以下步骤在浏览器中打开本页面:

点击右上角 ··· 菜单
选择 在浏览器中打开
在浏览器中点击下载按钮即可