Privacy policy
Authorized data should stay bounded, inspectable and removable.
This policy explains how the Bali Web Partner website and private platform-connection workflows handle personal information and data an account owner authorizes us to access.
01
Who this policy covers
Bali Web Partner is the public service name used on this website. Paid work is covered by a separate written agreement that identifies the contracting party and scope. Privacy questions can be sent through the contact page.
This policy covers baliwebpartner.com, website enquiries, measurement implemented on the site, and private OAuth workflows: Google Ads account connection and read-only Google Analytics and Google Search Console reporting connections.
02
Information we receive
- Details you submit in an enquiry or project brief, including contact details and project information.
- Basic technical and security information associated with a request, such as timestamps, request identifiers and abuse signals.
- Privacy-minimal website measurement events. Form fields and message contents are not sent as analytics event parameters.
- When you authorize Google Ads: the granted scope, an encrypted refresh token, directly accessible account IDs and names, the account you select, and authorization lifecycle events.
- When you authorize Google Analytics or Google Search Console reporting: read-only access (the analytics.readonly and webmasters.readonly scopes), an encrypted refresh token, the names and IDs of the GA4 properties or Search Console sites available to you, the ones you map to a project, and aggregate reporting data for those mapped properties or sites.
03
How the information is used
- Respond to enquiries and prepare or deliver work you request.
- Connect only the platform account that an authorized owner places in scope.
- Read, report on or manage platform data only to the extent agreed for the engagement.
- Produce read-only performance reports from Google Analytics and Search Console data for the project you connect them to. These connections cannot change your Analytics or Search Console settings.
- Protect the workflow, investigate failures, document authorization and support revocation or deletion.
- Maintain aggregate website measurement without using enquiry contents for advertising profiles.
04
Google API data
Google user data is used only to provide or improve the account-management features you request. It is not sold, rented, used for unrelated advertising, or transferred to another party except where needed to provide the agreed feature, protect the service, comply with law, or with your explicit direction.
Our use and transfer of information received from Google APIs follows the Google API Services User Data Policy, including its Limited Use requirements.
05
Storage and security
- OAuth refresh tokens and temporary PKCE verifiers are encrypted with AES-GCM before insertion into Cloudflare D1.
- Encryption keys, OAuth client secrets, developer tokens and operator credentials remain in secret storage rather than Git, public pages or plaintext database columns.
- Invitation and browser-session tokens are stored only as one-way SHA-256 digests.
- Raw reporting responses from Google Analytics and Search Console are kept in private Cloudflare R2 storage that is not publicly accessible.
- Access is restricted to the connection workflow and approved operational tools. No security measure can eliminate every risk.
06
Processors and international handling
The service may rely on Cloudflare for hosting and data storage, Google for OAuth, Ads, Analytics, Search Console and measurement, and approved email or operational providers. These providers may process data in countries other than yours under their own infrastructure and contractual safeguards.
We do not publish or share a connected account's data as public proof without separate evidence and permission.
07
Retention, revocation and deletion
An active Google refresh token is retained only while the connection remains active. Disconnecting removes the stored token and attempts Google revocation. Deletion also removes stored account names and IDs and active connection sessions.
Raw Google Analytics and Search Console reporting responses are deleted after 90 days, and generated report exports after 30 days. Revoking a reporting connection revokes the Google token, clears the stored credential and stops scheduled collection. Aggregate metrics stay with the client project's reporting until that project's data is deleted.
Minimal non-identifying authorization and deletion events may be retained where reasonably needed for security, troubleshooting or legal accountability. Other enquiry and project data is kept only as long as needed for the request, agreement, records or applicable obligations.
08
Your choices
- Decline or cancel Google authorization before a connection is stored.
- Disconnect or delete a connection from the private connection page while its browser session is valid.
- Ask us to revoke a Google Analytics or Search Console reporting connection, which stops collection for that project.
- Revoke access in your Google Account at any time.
- Ask to access, correct or delete personal information through the contact page. We may verify authority before acting.
09
Changes and contact
Material changes will be dated on this page. Use the contact page and identify the request as a privacy or connected-account request.