EgoVista — egovista.app
Effective 3 August 2026 · Version 1.1
See also: Sub-processors · Privacy Policy
Technical Annex
Automated processing components of the annotation pipeline
Version 1.1 — Effective 3 August 2026
Controller: EgoVista SAS, 47 rue Vivienne, 75002 Paris, France — SIREN 106 489 735
1. Purpose and scope
This annex lists the software components and machine learning models used by EgoVista in the processing of collected video sequences. For each component it states the processing category it belongs to, its identifier, its version, where it is executed, and whether it entails any transmission outside EgoVista's infrastructure.
It is referenced by the following documents, which do not restate this information in their own body text: the data protection impact assessment, the legitimate interest assessment, the privacy policy, and the dataset card supplied to the acquirer.
This separation is deliberate. Those documents state stable legal facts, namely who processes, on what legal basis, for what purpose and in what place. Model identifiers and versions change at the pace of software development. Replacing a model with a more recent version, with the processing category, supplier and place of execution unchanged, gives rise to a new version of this annex and entails no modification of the documents that reference it.
2. Versioning rule
Any modification of this annex gives rise to an increment of the version number and to its own effective date. Earlier versions are retained and remain binding for the processing carried out under them. A batch of data delivered to an acquirer carries the reference of the version of the annex in force when the annotations it contains were produced, and not the version in force on the delivery date.
A change affecting the processing category, the supplier, the place of execution, or the existence of a transmission outside EgoVista's infrastructure is not a mere modification of the annex. It requires revision of the data protection impact assessment and, where applicable, of the privacy policy.
3. Components in service
| Processing category | Component and identifier | Version | Place of execution | Transmission outside EgoVista infrastructure |
|---|---|---|---|---|
| Frame extraction | ffmpeg | Container system version | EgoVista infrastructure (EU) | None |
| Face blurring | MediaPipe Face Detector, blaze_face_full_range (float16, .tflite) | MediaPipe "latest" channel | EgoVista infrastructure (EU) | None. Weights downloaded from storage.googleapis.com |
| Hand pose estimation | MediaPipe Hand Landmarker, hand_landmarker.task (float16) | MediaPipe "latest" channel | EgoVista infrastructure (EU) | None. Weights downloaded from storage.googleapis.com |
| Depth estimation | Depth Anything V2 Small (depth-anything/Depth-Anything-V2-Small-hf) | V2, Small size | EgoVista infrastructure (EU) | None. Weights downloaded from Hugging Face |
| Hand-object segmentation | EgoHOS (mmsegmentation), local server on 127.0.0.1 | Version pinned in the repository | EgoVista infrastructure (EU) | None |
| Video re-encoding | ffmpeg | Container system version | EgoVista infrastructure (EU) | None |
| Action label generation | Multimodal language model via Google Cloud Vertex AI | See section 5 | Google Cloud, European region | Yes. Sequence re-encoded after face blurring |
Storage of sequences and of the artefacts produced is provided by Cloudflare R2. Computation of the components executed on EgoVista's infrastructure takes place within the European Union.
4. Execution order and guarantee of prior blurring
The execution order of the stages is not defined by a written sequence but by a dependency graph declared in the code, each stage being unable to start before completion of those it depends on.
| Stage | Stages it depends on |
|---|---|
| Download | None |
| Frame extraction | Download |
| Face blurring | Download, frame extraction |
| Video re-encoding | Download, frame extraction, face blurring |
| Hand pose estimation | Download, frame extraction |
| Depth estimation | Download, frame extraction |
| Hand-object segmentation | Download, frame extraction |
| Action label generation | Download, frame extraction, face blurring, video re-encoding |
| Upload | All preceding stages |
It follows from this graph that the only stage entailing a transmission outside EgoVista's infrastructure, action label generation, depends on face blurring and on video re-encoding. The sequence transmitted is therefore, by construction, the sequence re-encoded from frames whose faces have been blurred. This guarantee is structural and not conventional: it does not rest on an execution instruction but on a constraint of the graph, the violation of which would prevent the processing from completing.
5. Action label generation
This stage is the only one that involves a third-party service. It calls a multimodal language model hosted by Google Cloud, by way of the Vertex AI service, to produce a timestamped textual description of the actions observed in the sequence.
5.1 European region guarantee
The project and the region are read from the runtime configuration and are not written into the code. Their value is not left to the discretion of the operator: the region is subject to a check that interrupts processing when it is not European. This check applies at two distinct points, on loading the configuration and on constructing the client, so that a single modification is not sufficient to neutralise it. A further check rejects any client not constructed in Vertex AI mode.
The consequence is that an execution outside the European Union fails rather than producing a result. This property is structural: it does not rest on the correctness of a parameter, but on the impossibility of processing with an incorrect parameter.
5.2 Fate of the intermediate file
The sequence is placed in a staging area before the model is called. That file is deleted at the end of processing. The outcome of that deletion is recorded in the annotation artefact, including where it fails. EgoVista is thereby able to establish, for each sequence processed, that the deletion was carried out, rather than relying on a statement of principle.
5.3 Ongoing alignment of the secondary path
Two implementations of this stage coexist at the date of this version. The reference path, described above, is that of the platform. A secondary path, arising from the development of the annotation chain, reaches the same model through the supplier's direct interface, without region determination. Its alignment on the reference path, including the region check, is in progress.
| Path | Access method | Region | Deletion of the intermediate file |
|---|---|---|---|
| Reference path (platform) | Vertex AI, service account, project and region read from configuration | European, guaranteed by a blocking check | Carried out, outcome recorded in the artefact |
| Secondary path (annotation pipeline) | Supplier's direct interface, API key | Not determined | To be established |
No annotation produced by the secondary path is delivered to an acquirer. The version of this annex attached to a batch makes it possible to establish, for each annotation, the path that produced it.
6. Provenance of model weights
The weights of the models executed on EgoVista's infrastructure are obtained from public sources, respectively the MediaPipe distribution repositories and Hugging Face. The weights of the hand-object segmentation model are obtained from third-party hosting not governed by EgoVista. Verification of an expected checksum on download is identified as a measure reinforcing the provenance chain.
7. Terminology
Face blurring constitutes a pseudonymisation measure within the meaning of Article 4(5) of the General Data Protection Regulation. It does not render sequences anonymous and does not take them outside the scope of the Regulation. The technical identifier of a stage in the source code does not amount to a legal qualification of the processing it performs.
8. Version history
| Version | Effective date | Subject of the modification |
|---|---|---|
| 1.0 | 3 August 2026 | Creation. Internal version, not published. |
| 1.1 | 3 August 2026 | Description of the action label generation path based on Vertex AI in a European region, and of the region guarantee. Mention of the secondary path undergoing alignment. |
Document drafted with the assistance of an artificial intelligence system and validated by EgoVista SAS.