View on GitHub

WePush

专注批量推送的小而美的工具,目前支持:模板消息-公众号、模板消息-小程序、微信客服消息、微信企业号/企业微信消息、阿里云短信、阿里大于模板短信 、腾讯云短信、云片网短信、E-Mail、HTTP请求、钉钉、华为云短信、百度云短信、又拍云短信、七牛云短信

ADR-0003:默认 Secret Store

背景

WePush 需要保存短信、微信、邮件、HTTP 等 Provider 的 Token、密码和私钥。默认实现必须同时适用于 Windows、Linux、macOS、Headless Service 和容器环境,且不能依赖 Desktop 进程或某个特定云厂商。

决策

默认实现采用本地信封加密 Secret Store,名称为 LocalEnvelopeSecretStore

数据加密

Master Key

密钥轮换

API 和运行时

产品边界

SecretStore 保持 Port 接口,用于维持模块边界、测试替身和本地实现可替换性。WePush Next 的官方产品实现固定为 LocalEnvelopeSecretStore,不规划 HashiCorp Vault、云 KMS、云 Secret Manager 或操作系统凭据存储形式的 Service Adapter。Master Key 由用户控制的受保护文件或显式注入提供。

失败策略

结果

该方案跨平台、可离线、适合安装包和 Headless Service,并确保默认安装不依赖官方或第三方托管密钥服务。代价是项目需要提供完整的密钥初始化、备份、权限检查和轮换流程,部署者也必须把 Master Key 纳入自己的备份与恢复制度。