🔒 隐私政策

最后更新:2026 年 6 月

1. 信息收集

我们仅收集提供服务所必需的信息:

  • 用户主动提供的信息:高考分数、省内排名、选科组合(用于志愿匹配);微信 openid(用于登录和支付)
  • 自动收集的信息:设备信息和 IP 地址(已经过匿名化处理,仅用于安全防护和数据分析)
  • 敏感个人信息:您的分数、排名等教育信息属于敏感个人信息,我们将采取加密存储等特别保护措施

处理目的:志愿推荐、AI 分析、服务优化

处理方式:自动化决策(AI 算法生成的志愿推荐仅供参考)

2. 运营者信息

本服务由个人开发者运营(福建),联系邮箱:请访问 /faq 帮助页面获取联系方式

如您对本隐私政策有任何疑问,可通过上述邮箱联系我们。我们将在 7 个工作日内回复。

3. Cookie 使用

我们使用必要的 Cookie 来维持您的登录状态和会话信息。这些 Cookie 不会追踪您的浏览行为,不会分享给第三方,也不会用于广告投放。您可以在浏览器设置中管理或删除 Cookie,但可能会影响部分功能的使用。

4. 信息使用

收集的信息仅用于以下目的:提供志愿推荐和 AI 分析服务;改进算法和提升用户体验;防止滥用和欺诈行为;履行法律法规义务。我们不会将您的信息用于任何其他目的。

5. 信息存储和保护

存储地点:数据存储在中国大陆境内服务器,不会向境外传输。

存储期限:日志数据保留不超过 6 个月;交易记录保留 5 年(法律法规要求);用户账户数据在您注销账号后 30 天内删除。

保护措施:采取符合行业标准的加密措施保护您的个人信息;敏感信息(分数、排名等)使用 AES-256 加密存储;定期进行安全审计。

6. 安全事件处理

如发生数据安全事件,我们将:立即启动应急预案,防止事态扩大;在 48 小时内通过站内通知或邮件告知您;向有关主管部门报告。我们会尽最大努力保护您的数据安全。

7. 信息共享

我们不会将您的个人信息出售或分享给任何第三方,除非以下情况:获得您的明确单独同意;法律法规要求(如公安机关依法调取);为保护公共利益或他人生命财产安全所必需。如涉及第三方服务(如微信支付),仅共享支付所需的最小必要信息。

8. 您的权利

根据《个人信息保护法》,您享有以下权利:

  • 查阅权:您可以通过"个人中心"页面查看您的个人信息
  • 更正权:如信息有误,您可随时在应用中修改
  • 删除权:您可联系我们删除您的个人信息(注销账号)
  • 撤回同意权:您有权撤回对我们处理您个人信息的同意
  • 数据可携权:您可联系我们导出您的个人数据

如需行使上述权利,请通过联系邮箱提交申请,我们将在 15 个工作日内处理。

9. 未成年人保护

特别说明:如果您未满 18 周岁,请在监护人陪同下使用本服务。我们将采取以下保护措施:

  • 单笔消费金额限制在 100 元以内
  • 不发送诱导性营销信息
  • 未经监护人同意不收集 14 周岁以下儿童的个人信息
  • 监护人有权要求删除未成年人的个人信息

10. 隐私政策更新

我们可能适时修订本隐私政策。如有重大变更,我们将通过站内通知或弹窗提醒您。修订后的政策将在页面标注的更新日期生效。请您定期查看本页面以了解最新内容。

11. 联系我们

如有隐私相关问题,请通过 /faq 帮助页面联系我们。我们会在 7 个工作日内回复。如对我们的处理不满意,您可向福建省网信办等监管部门投诉。

// ===== 付费弹窗 ===== var payTimer = null; function showPayModal(){ document.getElementById('pay-modal').classList.remove('hidden'); document.getElementById('pay-modal').classList.add('flex'); document.getElementById('pay-qr-area').classList.add('hidden'); document.getElementById('pay-btn').style.display=''; document.getElementById('pay-note').textContent='微信支付 · 付款后自动解锁'; } function hidePayModal(){ document.getElementById('pay-modal').classList.add('hidden'); document.getElementById('pay-modal').classList.remove('flex'); if(payTimer) clearInterval(payTimer); } function startPayment(){ var token = localStorage.getItem('auth_token'); if(!token){hidePayModal();showLoginModal();return} var btn = document.getElementById('pay-btn'); btn.disabled = true; btn.textContent = '生成订单中...'; fetch('/api/payment/create', {method:'POST', headers:{'Content-Type':'application/json'}, body:JSON.stringify({token:token})}) .then(function(r){return r.json()}).then(function(d){ if(d.qrcode_url){ document.getElementById('pay-info').classList.add('hidden'); document.getElementById('pay-btn').style.display='none'; document.getElementById('pay-qr-area').classList.remove('hidden'); document.getElementById('pay-qr-img').src = d.qrcode_url; document.getElementById('pay-note').textContent = '订单号: '+d.order_id; // 轮询支付状态 var sec = 300; document.getElementById('pay-timer').textContent = Math.floor(sec/60)+':'+String(sec%60).padStart(2,'0'); payTimer = setInterval(function(){ sec--; if(sec<=0){clearInterval(payTimer);document.getElementById('pay-note').textContent='二维码已过期,请重新购买';btn.disabled=false;btn.style.display='';btn.textContent='重新购买 ¥29.9';return} document.getElementById('pay-timer').textContent = Math.floor(sec/60)+':'+String(sec%60).padStart(2,'0'); fetch('/api/payment/status?order_id='+d.order_id+'&token='+token) .then(function(r){return r.json()}).then(function(s){ if(s.status==='paid'){ clearInterval(payTimer); document.getElementById('pay-note').textContent='✅ 支付成功!页面即将刷新...'; setTimeout(function(){location.reload()}, 1500); } }).catch(function(){}); }, 2000); } else { document.getElementById('pay-note').textContent='支付服务暂不可用,请稍后再试'; btn.disabled = false; btn.textContent = '重新购买 ¥29.9'; } }).catch(function(){ document.getElementById('pay-note').textContent='网络错误,请重试'; btn.disabled = false; btn.textContent = '重新购买 ¥29.9'; }); } // 自动给大学链接加token document.addEventListener('DOMContentLoaded',function(){ var sp=localStorage.getItem('saved_phone');if(sp){var pi=document.getElementById('pwd-phone');if(pi)pi.value=sp;var pi2=document.getElementById('phone-input');if(pi2)pi2.value=sp}} var tk=localStorage.getItem('auth_token'); if(tk){document.querySelectorAll('a[href*="/university/"]').forEach(function(a){ if(!a.href.includes('token=')){a.href+=(a.href.includes('?')?'&':'?')+'token='+encodeURIComponent(tk)} })} }) // 拦截AI付费阻挡 document.addEventListener('ai-blocked',function(){showPayModal()})