1"use strict";(globalThis.webpackChunkegern_doc=globalThis.webpackChunkegern_doc||[]).push([[431],{6937:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>r,toc:()=>c});const r=JSON.parse('{"type":"mdx","permalink":"/zh-CN/privacy","source":"@site/src/pages/privacy.md","title":"Privacy Policy","description":"Thank you for using Egern (\\"the App\\"). We respect your privacy and are committed to protecting your personal data. This Privacy Policy explains what information we collect, why we collect it, and how we use and protect it.","frontMatter":{"title":"Privacy Policy"},"unlisted":false}');var t=i(4848),o=i(8453);const s={title:"Privacy Policy"},a="Privacy Policy",l={},c=[{value:"1. Information We Collect",id:"1-information-we-collect",level:2},{value:"1.1 Device Information",id:"11-device-information",level:3},{value:"1.2 iCloud User Record ID",id:"12-icloud-user-record-id",level:3},{value:"1.3 TestFlight Email Address",id:"13-testflight-email-address",level:3},{value:"2. How We Use Your Information",id:"2-how-we-use-your-information",level:2},{value:"3. Data Storage and Security",id:"3-data-storage-and-security",level:2},{value:"4. Data Retention",id:"4-data-retention",level:2},{value:"5. Your Rights",id:"5-your-rights",level:2},{value:"6. Children's Privacy",id:"6-childrens-privacy",level:2},{value:"7. Changes to This Privacy Policy",id:"7-changes-to-this-privacy-policy",level:2},{value:"8. Contact Us",id:"8-contact-us",level:2}];function d(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"privacy-policy",children:"Privacy Policy"})}),"\n",(0,t.jsxs)(n.p,{children:["Thank you for using ",(0,t.jsx)(n.strong,{children:"Egern"}),' ("the App"). We respect your privacy and are committed to protecting your personal data. This Privacy Policy explains what information we collect, why we collect it, and how we use and protect it.']}),"\n",(0,t.jsx)(n.h2,{id:"1-information-we-collect",children:"1. Information We Collect"}),"\n",(0,t.jsx)(n.p,{children:"Egern collects only the minimum information necessary to support essential App functionality and to validate your in\u2011app purchases."}),"\n",(0,t.jsx)(n.h3,{id:"11-device-information",children:"1.1 Device Information"}),"\n",(0,t.jsx)(n.p,{children:"When you perform a one\u2011time in\u2011app purchase and the App sends a validation request to our server, we collect:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Device Name"})," (i.e., ",(0,t.jsx)(n.code,{children:"UIDevice.current.name"}),")"]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"A UUID stored in Keychain"})," (a persistent identifier created by the App)"]}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"These identifiers are used solely for purchase validation and fraud prevention."}),"\n",(0,t.jsx)(n.h3,{id:"12-icloud-user-record-id",children:"1.2 iCloud User Record ID"}),"\n",(0,t.jsx)(n.p,{children:"If available, Egern also uploads:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:"CKContainer(identifier: iCloudIdentifier).userRecordID()"})})}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"This helps uniquely associate a purchase with your iCloud account to ensure proper entitlement restoration."}),"\n",(0,t.jsx)(n.h3,{id:"13-testflight-email-address",children:"1.3 TestFlight Email Address"}),"\n",(0,t.jsx)(n.p,{children:"If you choose to apply for TestFlight beta testing, you may voluntarily provide:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.strong,{children:"The email address you use to receive the TestFlight invitation"})}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"This information is used only to invite you to the TestFlight program and manage beta access."}),"\n",(0,t.jsx)(n.h2,{id:"2-how-we-use-your-information",children:"2. How We Use Your Information"}),"\n",(0,t.jsx)(n.p,{children:"We use the collected information strictly for the following purposes:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"In\u2011App Purchase Verification"}),": To validate your purchase on our server, prevent fraudulent use, and ensure you receive the correct entitlements."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Account Association"}),": To restore purchases across devices via the iCloud user record ID or keychain\u2011stored UUID."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"TestFlight Management"}),": To send you beta invitations and manage your participation."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.strong,{children:"Support Communication"}),": If you contact us via ",(0,t.jsx)(n.a,{href:"mailto:[email protected]",children:"[email protected]"}),", we may use your email to respond to your inquiry."]}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["We ",(0,t.jsx)(n.strong,{children:"do not"})," use your information for advertising, tracking, analytics, or profiling."]}),"\n",(0,t.jsx)(n.h2,{id:"3-data-storage-and-security",children:"3. Data Storage and Security"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"We store only the data necessary to verify purchases."}),"\n",(0,t.jsx)(n.li,{children:"All information transmitted to our servers is protected with industry\u2011standard encryption."}
1),"\n",(0,t.jsx)(n.li,{children:"We implement technical and administrative safeguards to protect your data from unauthorized access, loss, or misuse."}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["We ",(0,t.jsx)(n.strong,{children:"never"})," sell, rent, or share your personal information with third parties unless required by law."]}),"\n",(0,t.jsx)(n.h2,{id:"4-data-retention",children:"4. Data Retention"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Purchase\u2011related identifiers are retained as long as necessary to provide entitlement verification and restore purchases."}),"\n",(0,t.jsx)(n.li,{children:"TestFlight emails are retained only during your participation in the beta program."}),"\n",(0,t.jsx)(n.li,{children:"Support emails may be stored for documentation and follow\u2011up purposes."}),"\n"]}),"\n",(0,t.jsx)(n.p,{children:"You may request deletion of your information at any time by contacting us."}),"\n",(0,t.jsx)(n.h2,{id:"5-your-rights",children:"5. Your Rights"}),"\n",(0,t.jsx)(n.p,{children:"Depending on your jurisdiction, you may have the right to:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Access the personal data we hold about you"}),"\n",(0,t.jsx)(n.li,{children:"Request correction or deletion"}),"\n",(0,t.jsx)(n.li,{children:"Withdraw consent (where applicable)"}),"\n",(0,t.jsx)(n.li,{children:"Ask how your data is processed"}),"\n"]}),"\n",(0,t.jsxs)(n.p,{children:["To exercise these rights, please contact us at ",(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.a,{href:"mailto:[email protected]",children:"[email protected]"})}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"6-childrens-privacy",children:"6. Children's Privacy"}),"\n",(0,t.jsx)(n.p,{children:"Egern is not intended for children under the age required by local laws for app usage. We do not knowingly collect personal information from children."}),"\n",(0,t.jsx)(n.h2,{id:"7-changes-to-this-privacy-policy",children:"7. Changes to This Privacy Policy"}),"\n",(0,t.jsx)(n.p,{children:"We may update this Privacy Policy from time to time. Significant changes will be reflected by updating the date at the top of this document."}),"\n",(0,t.jsx)(n.h2,{id:"8-contact-us",children:"8. Contact Us"}),"\n",(0,t.jsx)(n.p,{children:"If you have any questions or concerns about this Privacy Policy or your data, please contact us:"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Email:"})," ",(0,t.jsx)(n.a,{href:"mailto:[email protected]",children:"[email protected]"})]}),"\n",(0,t.jsx)(n.p,{children:"Thank you for using Egern."})]})}function h(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>s,x:()=>a});var r=i(6540);const t={},o=r.createContext(t);function s(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:s(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.