共享密码不是习惯问题,是产品缺了一个正确做法。
一、第三个同事来要账号时,她还在手动开小号
“能不能给我同事也开个号?”这是周岚这个月第三次收到同样的请求。她的产品按账号收费,团队客户不想为三个同事各付一份,于是她手动给每个人开了免费账号。
三周后她发现,这三个人其实共用一个密码:客户把登录信息贴在团队文档里,谁需要谁去复制。她提醒过一次,对方说“这样方便”。
真正让她警觉的是另一件事。其中一个人离职了,客户没有告诉她,也没有改密码;那个账号在离职后又登录了 11 次,最后一次是在第 26 天。
以下情境为教学假设,人物、引语和数字不代表经核实的真实案例。
共享密码不是客户的坏习惯,是产品缺少一个正确的做法。 当产品只有“用户”这一层时,客户想协作就只能共享身份;这不是教育问题,是模型问题。
免费开小号看起来省钱,实际上把风险留给了你。 三个号意味着三份数据、三次支持和三条无法审计的登录记录;出事时你连“谁做的”都答不上来。
三个免费账号每月少收 36 美元,最后都变成了她的支持成本。 她还要为这三个号多付三次客服与一次安全解释;共享密码省下的钱,从来不是免费的。
组织不是一个页面,是一层归属。 在引入它之前,你至少要先能回答:这些账号属于谁、谁能移除谁、移除之后数据归谁。
二、五个信号:什么时候该从「用户」升级到「组织」
不是所有产品都需要组织。下面五个信号,任意两个同时出现,就说明单用户模型已经开始漏。
| 信号 | 具体表现 | 什么时候算触发 |
|---|---|---|
| 同域名三个以上账号 | 同一家公司用企业邮箱注册了三个独立账号 | 第三个账号出现,且他们互相不知道对方存在 |
| 共享链接出现在外部 | 分享链接被转发到客户公司之外,或出现在公开渠道 | 一条链接的访问者里出现非客户域名 |
| 客户要求代操作 | 客户让你“帮我把他加进来”“帮我改他的权限” | 同一客户一个月内提出两次以上 |
| 采购问卷问权限 | 安全问卷出现 SSO、SCIM、角色、审计日志 | 问卷里有三项以上你答不出来 |
| 客户按席位砍价 | 客户开始按人头谈价格或要求批量折扣 | 客户明确说“我们只付五个席位” |
信号要看频率,不看单次。 一个客户偶尔让你代加人,是服务;一个月两次以上,说明产品缺一个入口。
同域名账号是最早的信号。 它不需要客户开口,你在注册数据里就能看到;三个人用同一个域名注册,几乎一定是一个团队在用三个孤岛。
共享链接外流是最危险的信号。 它意味着你的权限模型已经失效,但客户并没有意识到;等到采购或法务发现,通常已经是续费谈判。
采购问卷是最贵的信号。 它不带来新功能需求,只带来一张必须填的表;填不出来的那几项,往往就是企业客户判断你“还不够格”的依据。
按席位砍价是最诚实的信号。 客户已经在用团队的方式思考,只是你的定价还停在个人;这时候拒绝,等于把他们推给有席位的竞品。
三、三种模型:单用户、工作区单层、组织加工作区双层
选模型的标准不是“哪个更专业”,而是“你的客户现在长什么样”。
| 模型 | 适用规模 | 迁移成本 | 常见错误 |
|---|---|---|---|
| 单用户 | 全部客户都是个人,或团队不超过两人 | 零;但每次团队请求都要人工处理 | 用共享账号糊过去,直到离职事件 |
| 工作区单层 | 十到五十个团队,一队一个空间 | 低:加一张 workspace 表与归属键 | 把角色写在 user 上,换团队就失效 |
| 组织加工作区双层 | 客户会被收购,有多个部门或子品牌 | 高:多一层归属与继承规则 | 过早引入,二十个客户里十九个用不上 |
一人产品通常选工作区单层。 二十个团队、二十四个工作区,这个量级用一层就够;组织层带来的审批、继承与账单合并,你还没有客户需要。
双层只在一种情况下必要:客户被收购。 当甲公司买下乙公司,乙的工作区要整体挂到甲的组织下,同时保留自己的成员与账单;没有组织层,你只能手工搬家。
迁移成本主要是数据,不是代码。 加一张表是半天,给八张业务表补归属键、给三百四十四个账号补上归属,是几周。
常见错误比模型选错更贵。 角色挂在 user 上、工作区没有软删除、邀请没有过期时间,这三个错误在三种模型里都会出现。
先定归属,再定角色。 归属回答“这条数据属于谁”,角色回答“这个人能做什么”;顺序反了,角色会变成补丁。
模型可以晚一步,归属不能。 先让每条数据都有主人,再决定要不要多一层组织;反过来做,迁移会把所有历史数据重算一遍。
四、复算:二十个团队值不值得为它做一层组织
把全组基线摊开,先算占比,再算不做会损失什么。
付费账户 120 = 个人档 100 + 团队档 20
毛收入 = 100 × 12 + 20 × 30 = 1200 + 600 = 1800
团队收入占比 = 600 ÷ 1800 = 33.3%
团队账户占比 = 20 ÷ 120 = 16.7%
登录账号 344 = 100 个个人持有者 + 20 × 5 个团队席位 + 144 个免费或试用
团队席位占账号 = 100 ÷ 344 = 29.1%
不做组织的预计流失 = 8 个团队 × 30 = 240 美元/月
年化 = 240 × 12 = 2880 美元
开发 40 小时 + 每年维护 36 小时 = 76 小时
2880 ÷ 76 = 37.9 美元/小时
团队档每席 = 30 ÷ 5 = 6 美元,个人档每席 = 12 美元
二十个团队只占账户的 16.7%,却贡献 33.3% 的收入。 这是最容易被忽略的结构:团队客户数量少、单价高,流失一个顶三个个人用户。
团队席位占全部账号的 29.1%,接近三分之一。 如果产品只按“人”设计,这三分之一的使用者永远在用别人的身份登录。
不做组织的损失是 2880 美元一年。 八个团队是保守估计:五个信号里已经出现两个的客户,通常就是这八个。
37.9 美元/小时不是利润,是机会成本的下限。 它没有算支持成本、离职事件的风险,也没有算因为缺组织而丢掉的采购机会;真实回报只会更高。
团队档每席 6 美元,个人档 12 美元,折扣是明示的。 这不是定价漏洞,是批量逻辑;它也是客户按席位砍价时你唯一能拿出的依据。
先做工作区,别做组织。 37.9 美元/小时对应的是“补上归属”这一层;双层组织留到第一个被收购的客户出现。
五、行动清单与复算验收
在你写下第一张 workspace 表之前,先把下面八件事确认一遍。
- 导出最近三十天注册数据,按邮箱域名分组,数出同域名三个以上账号的公司
- 抽查二十条共享链接的访问来源,看有没有客户域名之外的访问
- 统计最近一个月“帮我加个人”类工单的数量与客户
- 找出采购问卷里所有与权限、SSO、审计相关的条目,标出答不出来的
- 在定价页写明团队档的席位与单价,别再让销售口头承诺
- 确认角色挂在成员关系上,而不是挂在用户上
- 给每个工作区定义软删除与数据归属规则,写在一页纸上
- 用二十个团队、600 美元、76 小时复算一次,写下你选择哪一层模型
验收标准:你能说出你的产品在什么条件下必须引入组织、选哪一层,并能用一组自己的数字复算它的回报;说不出,说明你还在凭感觉接团队客户。
使用边界与实操验收
本文讨论的是产品模型与归属层,不涉及具体权限框架或合规认证。
组织不等于企业版。 它是数据归属的一层,不是一张更贵的价目表;先有归属,再谈 SSO 与审计日志。
五个信号不是评分卡。 它们是触发条件;两个同时出现就该动手,不必等五个凑齐。
不要用组织解决定价问题。 如果客户只是嫌贵,席位折扣比一层新模型便宜得多。
本文不覆盖合规。 SOC 2、ISO 27001 与数据处理协议属于另一个专题;组织模型只是它们的前置条件。
迁移的细节在下一篇。 四张核心表、八张业务表的归属键与四步迁移,会单独展开。
关键参考与核验范围
核验日期:2026-10-25。以下链接用于核对多租户边界与行级权限的一般做法,本文未逐条引用其内容。
- Martin Fowler:Bounded Context :用于核对“边界先于模型”的一般原则。
- PostgreSQL:Row Security Policies :用于核对行级隔离能在数据库层提供什么。
- Auth0:Multi-Tenant Applications :用于核对外部身份服务如何描述租户与组织。
- OWASP:Authorization Cheat Sheet :用于核对角色与资源归属分离的常见做法。
引用口径。 本文只借用“先划边界、再做授权”这一一般原则;二十个团队、1800 美元、2880 美元与 37.9 美元全部是教学假设,与上述材料无关。
核验范围。 核验的是“五个信号 + 三种模型 + 一次复算”这套判断是否仍可操作,不是比对某家身份服务商的功能清单。
如何自行复核。 导出注册数据按域名分组,再抽查二十条分享链接的访问日志;如果同域名账号超过三个且链接已经外流,就说明你的产品到了该加归属层的时候。
系列导航
- 上一篇:无,本文是系列第一篇
- 下一篇:组织、工作区、成员:三层模型与一次数据迁移
- 回到目录:一个人的多租户:组织、邀请、角色与数据隔离
- 相关阅读:三档套餐:把「刚好够用」写成一张表
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。