Direct answer
A model download creates operational events that can be useful to diagnose transfer failures, but telemetry is a separate data path from the download itself. A privacy review should specify which events exist, when they fire, which fields they carry, and where they are sent. PRIVACY-01 and PRIVACY-02 support tracing optional collection and disclosure boundaries; they do not establish that a particular application sends download analytics. The goal is to decide whether a minimum event can answer a defined operational question without including user prompts, local paths, credentials, or identifying URLs. Start with an event inventory: request started, resumed, paused, completed, failed, cancelled, checksum mismatch, and storage error. For each event, name its purpose and owner. Prefer categorical fields such as failure class and app version over unbounded text. Model identifiers and revisions may reveal which feature or task a person is preparing; they should be considered for sensitivity and retention rather than assumed harmless. Never log signed query strings, authorization headers, temporary access tokens, content URIs, or private filesystem paths. Separate transfer observability from inference analytics. A download event may report that a selected artifact reached a terminal transfer state; it should not automatically include the prompt, transcript, output, or task outcome. If a product wants to correlate later inference success with a download, define that as a distinct event with its own purpose, user controls, retention, and data review. Avoid persistent identifiers that join download behavior to unrelated activity unless there is a documented need and user disclosure. Test payloads with synthetic canaries. Use unique fake tokens in URL parameters, local paths, model names, and user-visible task labels. Trigger successful, interrupted, resumed, cancelled, and failed transfers with analytics enabled and disabled. Capture requests through an approved inspector or test endpoint, inspect the event schema and headers, and verify that opt-out stops new emissions and handles queued records according to the declared policy. Do not infer no telemetry from a screen that shows no event. Consider background work. A worker may continue after the download screen closes, retry later, or emit completion after a network reconnect. Test process recreation and duplicate user actions so the same transfer does not produce unbounded duplicate events. Record whether cancellation prevents telemetry or only stops the transfer. If an event queue stores data locally, define its lifetime, deletion behavior, and backup status. Download progress logs and analytics payloads are not the same artifact. Keep server-side and client-side retention separate. If a test sink stores payloads, verify how test data is removed and do not send real account details. If production analytics has a retention configuration, record the setting and its owner; do not invent a retention promise from a client-side event schema. The disclosure should describe any optional transmission in terms users can understand, not a generic statement that the app is local. The evidence record should include build, event schema version, analytics state, transfer fixture, destination, fields, retry/cancel sequence, opt-out result, queue lifetime, and known capture limitations. It can state what the tested build emitted for those exact events. It cannot claim telemetry is anonymous, never transmitted, or harmless across all users without further evidence. This guide covers transfer metadata only; it does not certify download integrity, speed, artifact availability, or model quality.
A team investigates repeated model-download failures
A user cancels a large model transfer and later retries after reconnecting. The engineering team wants to count failure classes and resume outcomes, but must avoid collecting the signed download URL, private storage path, account identifier, or future prompt content.
Decision
Define a small transfer-event schema, exercise retries and opt-out with synthetic canaries, and inspect queue behavior after process recreation.
Expected outcome
The audit documents observed transfer metadata and omissions without claiming telemetry is anonymous or absent.
Evidence to collect
The claim becomes reviewable only when the following evidence is attached to the same artifact and test run:
- Event schema
- Payload capture
- Opt-out and retry behavior
A privacy claim needs a data inventory and traffic evidence. A local-model label by itself is not proof.
Implementation workflow
- Define transfer events and purpose. List start, resume, pause, complete, fail, cancel, checksum, and storage events; assign each field a purpose, owner, and event producer before instrumentation.
- Build a privacy-safe schema. Prefer bounded categories and reviewed identifiers; exclude signed URL parameters, tokens, local paths, prompts, transcripts, and generated output from telemetry fields.
- Trigger lifecycle and error cases. Run synthetic successful, interrupted, resumed, cancelled, and failed transfers with analytics enabled and disabled for each event type and fixture.
- Capture payload and opt-out behavior. Inspect requests, headers, retries, queued events, and reconnect behavior; confirm controls stop or remove each event as documented for each state.
- Review retention and reporting. Record client queue lifetime, server test-sink cleanup, production retention owner, and remaining capture or attribution unknowns before release review for auditability.
Keep each transition observable. A failure should identify the stage, artifact, runtime, and recovery action without logging private user content.
Acceptance criteria
- Every transfer event has a defined purpose and bounded field schema; private content, credentials, signed URL parameters, and local paths are excluded.
- Enabled, disabled, cancelled, retried, and process-recreated paths are tested with synthetic canaries and their outcomes recorded.
- The conclusion is scoped to observed transfer metadata and makes no anonymity, no-transmission, download-speed, or model-quality claim.
Decision table
| Dimension | Choice or evidence | How to interpret it |
|---|---|---|
| Download transfer telemetry | Record transfer state and categorized failures | Can support operations without needing prompts or generated task content. |
| Inference analytics | Record later task outcomes | A separate purpose and event path that needs its own controls and disclosure. |
| Access-log identifiers | Include full URLs or request tokens | Can expose credentials or user-linked behavior; redact or avoid these values. |
Failure patterns to prevent
- Logging full URLs with private parameters
- Sending file paths or user content
Also prevent silent fallback, unpinned artifacts, missing cancellation, and conclusions that combine unlike configurations. Store unsuccessful runs alongside successful ones.
Minimum reproducibility record
| Layer | Record |
|---|---|
| Device | Manufacturer, model, chipset, RAM class, operating-system build |
| Software | Application version and git commit |
| Model | Family, variant, revision, format, file length, hash, quantization |
| Runtime | Name, revision, requested backend, observed backend evidence |
| Workload | Fixture revision, input hash, prompt hash, output policy |
| Outcome | Completed, failed, cancelled, fallback, and privacy-safe diagnostics |
Release checklist
- ☐ The primary query is answered without an unsupported number.
- ☐ Every artifact and runtime is pinned.
- ☐ The representative task and failure policy are explicit.
- ☐ Lifecycle, cancellation, cleanup, and fallback are tested.
- ☐ User-content and network boundaries are documented.
- ☐ Result wording applies only to the recorded configuration.
- ☐ The page links to raw method or evidence when results are added.
Sources and related evidence
- Cove network audit
- Google Play Data safety section
- Android Studio Network Inspector
- Android WorkManager cancellation
Chinese deployment and troubleshooting content is organized in the .奇连 AI 端侧专题.
Frequently asked questions
Can a model download event include the complete URL?
Avoid that by default. Signed parameters and tokens can grant access or identify a session. Record a reviewed artifact category or non-secret revision instead.
Does disabling analytics also stop a download worker?
Not necessarily. Test transfer control and telemetry control separately, including queued events and later reconnect behavior for each request state.
Does a count of failed transfers prove which users were affected?
No. Aggregated counts may not identify sessions, and adding identifiers changes the privacy boundary. Report only what the tested schema and retention support.