Upload your own source
Uploading your own source is available on request: email us to have it enabled for your organization. Once it is, and your organization has the citations from your own source capability, you can upload your own Android platform or Linux kernel source tree from the console, under Your source. Your captures are then cited against the code your devices actually run, not only the published platform source. Everything on Source-grounded findings applies: the version a log states still has to match the tree exactly. On a self-hosted deployment your administrator can also build it there; see Your own source (self-hosted).
Your organization’s owner and admins manage its source. On an individual account, that’s you. Other members of an organization see the page but can’t change anything on it.
Uploading a tree
Upload the tree as a tar, tar.gz or zip archive, with paths relative to the top of the tree. Choose what it is and its release:
| Kind of source | Release |
|---|---|
| Android platform | One number, for example 15 |
| Linux kernel | Major and minor, for example 6.1 |
An archive can be up to 32 GB, and can unpack to at most 80 GB and 2,000,000 files, which a full Android platform tree fits. A large archive is uploaded in parts, and an interrupted upload that is not finished within a day is discarded. An organization can hold up to five trees at once and start up to ten uploads a day; deleting a tree does not free an upload for that day.
An archive is refused, with the reason, if it holds a symbolic or hard link, a device or anything else that is not a file or a folder, an absolute path, a path that climbs out of the tree, or the same path twice. Nothing is skipped quietly: fix the archive and upload it again. Archive the tree with links resolved to the files they point at.
The tree is built on our platform, and none of your source is sent anywhere to build it. While it builds, the page shows it as Building, then Built, becoming available while it’s loaded for serving; when it is Ready, captures you upload from then on are cited against it, and no other organization can see it. A capture is matched to a source tree when it is uploaded, so a capture uploaded earlier keeps citing the published source. Upload it again to have it cited against your tree.
You can hold one tree for each kind of source and release. To replace it, delete it first and then upload the new one; an upload of a release you already have stops with “You already have source for this version. Delete it first to upload a replacement.” Each tree is served from room set aside for it, and a ready tree keeps its room until it’s deleted. If there’s no room for a new tree, its build stops with “This source can’t be added right now; contact support.” While your tree is briefly unavailable, for example during our maintenance, captures uploaded for its release aren’t cited against it or against the published source; upload them again once it’s back. If that lasts longer, your tree shows as “Temporarily unavailable”: it’s kept with everything you uploaded, captures meanwhile are cited against the published source where there is one, and it becomes ready again by itself, with nothing for you to do. A new tree that can’t be put into service at all stops with “Your source could not be put into service” and frees its room.
When anyone in your organization investigates a capture or asks for a proposed fix, including on a colleague’s capture, the relevant excerpts of your source are sent to our model provider as part of that analysis, as published source is. This happens whether or not you enrich the tree.
Enriching a tree
Enrichment is optional. It adds a short description of what each log statement in your tree means and when it runs. To write it, enrichment additionally sends the code around each log statement to our model provider, so it runs only after an owner or admin consents on behalf of the organization.
The page shows the consent wording and its version. Consent records who gave it, when, and the wording version it was given against. It stands until it is withdrawn. Withdrawing consent stops any enrichment that has not finished. Enrichment is not offered where your organization’s data residency does not allow data to be sent to the model provider.
Enrichment does not draw on your investigation units. An organization can start up to three enrichments in any 30 days, counting those of trees it has since deleted; ask us to raise it. If there’s no room to serve the enriched tree, enrichment stops with “Enrichment can’t run right now; contact support.” and the tree keeps being cited as it was. Room is checked before enrichment starts and again once the enriched tree is ready, so when the room is nearly full an enrichment can also stop after it ran. One stopped before it ran doesn’t count toward the three; one that ran does.
Deleting a tree
Deleting a tree stops it being cited: captures uploaded afterwards use the published source again, and its enrichment goes with it. A tree can’t be deleted while its build or enrichment is running; wait for it to finish. A queued enrichment is cancelled. The archive you uploaded is then held and destroyed like any deleted upload; see Security and data handling.