Legal
Privacy Policy
Last updated October 31, 2026
This policy explains how Bryan Li (“I”, “me”) collects, uses, and protects information through bryanli.net and the applications hosted on its subdomains, including omni.bryanli.net (together, the “Services”). It also explains how the Services handle data obtained through Google APIs.
Information I collect
Information you provide.
- Contact and access-request forms: your name, email address, company, and message.
- Resume chat assistant: the messages you send so the assistant can reply to them.
- Accounts for signed-in features: your email address, name, and authentication details.
Information collected automatically.
- Basic visit analytics for resume links: pages viewed, referrer, timestamp, IP address, and approximate location (country and city) from Cloudflare.
- Cookies needed for the Services to work: a visitor identifier, resume access sessions, and sign-in sessions. I do not use third-party advertising or cross-site tracking cookies.
Information from Google, when you choose to connect. See Google user data below.
Google user data
Some features let a signed-in user connect a Google account. The Services request only the access needed for the feature you use, and Google shows you the exact permissions before you agree.
- Basic profile and email (
userinfo.email,userinfo.profile): to identify which Google account is connected and show it in the interface. - Google Drive, read-only (
drive.readonly): to list your documents and import the ones you select into the knowledge base that powers the resume chat assistant. The Services never modify, delete, or share files in your Drive.
How it is used. Google user data is used only to provide and improve the features you explicitly use. Content you choose to import may be sent to the AI provider configured for the Services (OpenAI, Google, or Anthropic) through their APIs, only to generate text embeddings and summaries for that feature. I do not use Google user data to train generalized AI or machine learning models.
Storage and security. OAuth access and refresh tokens are encrypted at rest. Imported content and tokens are stored in a managed PostgreSQL database (Neon) and object storage (Cloudflare R2). All traffic is encrypted in transit over HTTPS.
Sharing. I do not sell Google user data, use it for advertising, or share it with anyone except the service providers listed below, and then only to run the feature you requested, to comply with the law, or to protect security.
Limited Use.The Services’ use and transfer of information received from Google APIs to any other app will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
Revoking access. You can disconnect Google from within the Services, or at any time at myaccount.google.com/permissions. When you disconnect, the stored tokens are deleted.
How I use information
- To run the Services, including the resume chat assistant.
- To reply to messages and access requests.
- To understand how resume links are used and to prevent abuse, for example through rate limiting.
- To keep the Services secure and fix problems.
Service providers
The Services rely on these providers to process data for me:
- Vercel: hosting
- Cloudflare: DNS, CDN, security, and object storage (R2)
- Neon: database
- OpenAI, Google, Anthropic: AI model processing
- Resend: email delivery
Retention and deletion
I keep information only as long as needed for the purposes above. Chat sessions expire automatically. Imported content stays until it is removed or the Google connection is deleted. To have your data deleted, email me at [email protected] and I will act on the request within 30 days.
Your choices
You can ask to access, correct, or delete your personal information, or withdraw consent for Google access at any time. Depending on where you live, you may have more rights under laws such as the GDPR or CCPA. Contact me to use any of them.
Children
The Services are not directed to children under 13, and I do not knowingly collect their personal information.
Changes
I may update this policy. If I do, I will change the “Last updated” date above. If a change is material, I will give notice through the Services before it affects Google user data.
Contact
Questions about this policy? Email [email protected].