echomate
Codes that echo back
隐私政策
最后更新: 2026年8月30日
1. 我们是谁
echomate 是由 Valerian Huber 开发的 Shopify 应用,以 Alpin-Code(alpin-code.de)品牌及 Shopify 应用工作室 shopforge.studio 运营。echomate 为 Shopify 商家提供店铺健康监测、二维码生成、短链接追踪、link-in-bio 页面、集章卡、钱包卡券和数据分析。
2. 我们收集哪些数据
商家数据(Shopify 店铺所有者)
- 店铺域名 — 您的 myshopify.com 域名,用于识别您的店铺
- 会话令牌 — 加密的 Shopify 会话数据,用于身份验证
- 设置 — 您的应用配置(扫描频率、二维码样式、集章卡机制等)
- 二维码、短链接与 bio 页面 — 您创建的二维码、短链接和 bio 页面内容
- 集章卡配置 — 您设定的奖励门槛、触发方式和折扣码名称
终端顾客数据 — 匿名追踪(二维码扫描与点击)
- IP 地址 — 出于隐私考虑,进行哈希处理(SHA-256)并每日截断。我们从不存储原始 IP 地址。
- 国家/地区 — 在我们自己的服务器上通过本地 IP 与国家/地区对照库判定。为此不会将 IP 地址提供给任何第三方。
- 设备类型、浏览器、操作系统 — 从 User-Agent 请求头中提取
- 来源页 — 已清理(去除查询参数与片段标识)
- 时间戳 — 扫描或点击发生的时间
终端顾客数据 — 会员计划(集章卡)
当商家启用集章卡功能时,为运营该商家的会员计划,将按顾客处理以下数据:
- 顾客电子邮箱 — 由顾客在商家店铺结账时提供,作为集章卡的唯一标识。我们同时保存明文邮箱(以便商家与顾客沟通)和 SHA-256 哈希值(用于唯一性约束)。
- 订单元数据 — Shopify 订单 ID、订单编号(如
#1001)、金额、币种和时间戳。我们不保存订单商品明细、收货地址或支付信息。 - 集章数量 — 顾客为下一次奖励已累积的印章数。
- 奖励状态 — 奖励(折扣码)是否已发放、是否已兑换、何时到期。
- 退款事件 — 若已获印章的订单后续被取消或退款,我们出于透明起见记录该事件,并(视商家配置)撤回印章。
终端顾客数据 — 钱包卡券(Apple Wallet / Google Wallet)
该功能目前未启用。在未启用期间不会签发任何钱包卡券,也不会向 Apple 或 Google 传输任何数据。以下说明自功能上线之日起适用;我们提前公布,是为了让相关处理在开始之前即有据可查,而非事后补记。
如果顾客选择将 echomate 集章卡添加到 Apple Wallet 或 Google Wallet:
- 卡券个性化数据 — 商家的店铺名称与品牌色、顾客当前的集章数、顾客邮箱(用作卡券的唯一序列令牌)。这些数据嵌入在卡券本身之中。
- 设备注册令牌(仅限 Apple) — 顾客将卡券加入 Apple Wallet 时,Apple 会通过 PassKit 网络服务向我们发送设备令牌,以便集章数变化时我们能通知该设备。我们不会获得任何其他 Apple 账户信息。
- 卡券标识与鉴权令牌 — 保存在我们服务器的
wallet_pass_registration表中,用于验证来自 Apple/Google 的更新请求。 - 向 Apple / Google 传输 — 卡券下载或更新时,个性化数据会传输至 Apple Inc.(美国)和 Google LLC(美国)。此类传输依据 EU-US Data Privacy Framework 进行。顾客可随时从钱包中移除卡券,届时设备端数据即被删除。
3. 我们不收集哪些数据
- 我们在跳转页面上不使用 Cookie
- 在明确的会员 / 钱包卡券功能之外,我们不收集终端顾客的姓名、邮箱或个人标识(这些功能由商家启用,并由顾客下单或添加卡券时自行触发)
- 我们不向第三方出售数据
- 我们不将数据用于广告
- 我们不存储原始 IP 地址(仅存每日轮换的哈希值)
- 我们不读取订单明细、收货地址或银行卡数据 — 仅读取订单总额、币种和 ID
4. 我们如何使用数据
- 数据分析 — 汇总的扫描/点击数量、设备分布、国家/地区分布
- A/B 测试 — 随机选择版本(不做用户画像)
- 频率限制 — 防止滥用(基于 IP,仅存于内存)
- 店铺健康 — 代表商家调用 Google PageSpeed API
- 会员计划 — 记录每位顾客的集章数,达到门槛时发放折扣码,并代表商家向顾客发送奖励和状态邮件
- 钱包卡券 — 顾客请求时生成 Apple Wallet(.pkpass)和 Google Wallet 卡券对象,并在集章数变化时向其设备推送更新
5. 处理的法律依据(GDPR 第 6 条)
- 商家数据 — GDPR 第 6 条第 1 款 (b)(履行合同:商家安装本应用以获得服务)
- 匿名追踪数据(二维码 / 链接) — GDPR 第 6 条第 1 款 (f)(商家衡量自身营销素材成效的正当利益,并通过第 2 节所述的匿名化措施与顾客隐私相权衡)
- 会员计划数据 — GDPR 第 6 条第 1 款 (b)(合同前 / 合同措施:顾客通过在商家店铺下达符合条件的订单参与,适用商家另行公布的会员条款)
- 钱包卡券数据 — GDPR 第 6 条第 1 款 (b)(顾客点击“添加到 Apple/Google Wallet”即自行触发卡券创建,表明希望通过钱包获得会员权益)
6. 数据存储与安全
- 数据存储于 Supabase(PostgreSQL,欧盟区域)以及我们欧洲 VPS 上自建的 PostgreSQL,两者均启用行级安全(RLS)
- 所有连接均使用 HTTPS/TLS
- API 密钥以 SHA-256 哈希形式存储(绝不明文保存)
- Shopify 会话令牌经过加密
- 钱包卡券的加密证书存放于环境变量中,绝不写入日志
- 我们的服务器运行在专用 VPS 上,采用 Docker 容器化,托管于欧盟境内
7. 保存期限
- 分析数据:Free 套餐 — 14 天;Growth 套餐 — 180 天;Pro / Business 套餐 — 400 天。每日定时任务清除过期记录。卸载应用时,无论保留期是否届满,所有数据都会被删除。
- 会员 / 集章卡数据:当顾客的集章卡连续 24 个月无活动(无新订单、无奖励兑换),且商家一方不存在更高位阶的账簿保存义务时予以删除。审计日志(
stamp_event)在 18 个月后匿名化。 - 钱包卡券注册记录:顾客从钱包中删除卡券时移除(Apple/Google 通过 webhook 通知我们),或在 24 个月无活动后移除。
- 卸载应用:商家数据保留 30 天(以备重新安装),之后通过 Shopify 的
shop/redactwebhook 永久删除。 - 被遗忘权:通过
customers/redactwebhook(Shopify)或直接联系提出请求后,我们在 30 天内删除相关顾客的数据,法定保存义务(如商家一方适用的税务/商法规定)另有要求的除外。
8. 第三方服务(受托处理方)
- Shopify — 身份验证、计费、订单 webhook、顾客数据请求
- Supabase — 数据库托管(欧盟区域)
- Hostinger(VPS) — 应用托管(欧盟区域,法兰克福)
- Alpin-Code Hub(我们自有,内部) — 所有对外发出的事务性邮件(奖励、状态、性能告警)均经由中央代理发送,以便轮换密钥并保持统一品牌形象。该 Hub 自建于欧盟境内,实际投递借助 Resend(欧盟区域)。仅传输收件人邮箱、主题和正文。
- Apple Inc. (未启用 — 钱包卡券功能尚未开通) — PassKit 网络服务(美国,EU-US Data Privacy Framework)。功能上线后将接收 Apple Wallet 顾客的更新通知。目前不传输任何数据。
- Google LLC (未启用 — 钱包卡券功能尚未开通) — Google Wallet API(美国,EU-US Data Privacy Framework)。功能上线后将接收 Google Wallet 顾客的更新通知。目前不传输任何数据。
- Google PageSpeed Insights API — 店铺健康扫描(仅由商家发起)
- Google Analytics 4 — 可选,由商家为其自有 GA4 媒体资源配置。转发匿名化的汇总事件。
- Meta(Facebook 像素)/ Google Ads / TikTok 像素 — 可选的再营销功能,由商家配置,默认关闭。商家一旦填入像素 ID,相应服务商即从跳转页面接收扫描/点击事件。
9. GDPR 合规
我们遵守《通用数据保护条例》(GDPR):
- 我们依据第 5 节所列法律依据处理数据
- 对于商家的会员 / 钱包卡券数据,我们作为受托处理方(商家是其自身顾客数据的控制者)。
- 我们支持 Shopify 强制要求的 GDPR webhook:
customers/data_request— 我们在 30 天内答复,提供我们持有的该顾客全部数据(集章数、奖励状态、匿名化追踪数据)customers/redact— 我们在 30 天内删除该顾客的集章卡、钱包卡券注册记录,以及所有可关联到其本人的追踪记录shop/redact— 我们在收到 webhook 后 48 小时内删除全部店铺数据(Shopify 规定的 48 小时时限)
- 终端顾客可联系商家(建议如此,因商家为控制者)或直接联系我们 support@echomate.shop 申请删除数据
- 确实存在一项向美国的传输。我们的邮件投递服务 Resend(Plus Five Five, Inc.,美国)负责发送事务性邮件。投递本身在欧盟境内的服务器上运行,但服务商注册地在美国 — 法律上以可能的访问权为准,而非数据存放地。该传输依据 EU-US Data Privacy Framework(Resend 已通过认证),并以标准合同条款(模块 2)作为补充保障。仅传输收件人地址、主题和正文。Apple/Google 钱包集成(第 8 节)将构成第二项传输 — 由于该功能尚未开通,此项传输并未发生。
10. 您的权利
作为商家或终端顾客,您有权:
- 访问我们所持有的关于您的数据(GDPR 第 15 条)
- 要求更正不准确的数据(第 16 条)
- 要求删除您的数据(第 17 条 — 以第 7 节的保存义务为限)
- 反对数据处理(第 21 条)
- 要求限制处理(第 18 条)
- 以机器可读格式导出您的数据(第 20 条 — 商家可通过 CSV 导出和 REST API;顾客可通过“customers/data_request”)
- 在以同意为法律依据的情形下,随时撤回同意
- 向监管机构投诉(您惯常居住地的数据保护机构)
11. 会员计划 — 顾客须知
如果您在使用 echomate 的商家店铺中集过印章:
- 商家是您数据的控制者 — 诸如“我为什么少了一个印章?”或“我的奖励什么时候到期?”之类的问题,请直接询问商家。
- echomate 是受托处理方 — 我们依据数据处理协议,代表商家运行技术系统。
- 您可随时要求删除您的集章卡,联系商家或发送邮件至 support@echomate.shop 均可。
- 若您将集章卡添加至 Apple Wallet / Google Wallet,可随时在钱包应用中删除 — 这同时会移除我们这边的设备注册记录。
12. 联系方式
如对隐私有疑问、需要提出数据请求或其他事宜:
邮箱: support@echomate.shop
开发者 / 运营者: Valerian Huber
地址: Dahlienweg 11, 83109 Großkarolinenfeld, 德国
品牌: Alpin-Code(alpin-code.de)/ shopforge.studio