Term extraction: CI/CD and Application Security index pages - candidate list
#### Context Part of the EN baseline term extraction (#916+). Three index pages from the CI/CD and Application Security sections were scanned for terminology candidates. Pages processed: - `doc/ci/_index.md` - `doc/user/application_security/sast/_index.md` - `doc/user/application_security/get-started-security.md` **Scope note:** extraction was limited to these three index pages only. Sub-pages of these sections were not scanned and are out of scope for this batch. Each candidate was evaluated using the 8-criteria framework (2+ required) plus the translation-risk test: 1=Terminologization, 2=Confusability, 3=Specialization, 4=Frequency, 5=Visibility, 6=Novelty, 7=System relationships, 8=Standardization potential. #### Extracted terms <table> <tr> <th>Term</th> <th>File(s)</th> <th>In Quickterm</th> <th>FR (from Quickterm)</th> <th>Notes</th> </tr> <tr> <td>pipeline</td> <td>doc/ci/_index.md</td> <td>Yes</td> <td>pipeline (Preferred, borrowing)</td> <td>Core CI/CD execution concept. Quickterm confirms FR = "pipeline" (borrowing, Preferred): do not translate. Criteria: 1,2,3,4,5,7,8.</td> </tr> <tr> <td>stage</td> <td>doc/ci/_index.md</td> <td>Yes (Preferred)</td> <td>étape (Preferred; FR stored on "pipeline stage" admitted row in Quickterm)</td> <td>Execution phase within a pipeline; defines job ordering. Critical false friend: French "stage" = internship. Quickterm confirms FR = "étape" (Preferred). Criteria: 1,2,3,4,7.</td> </tr> <tr> <td>job</td> <td>doc/ci/_index.md</td> <td>Yes</td> <td>job (Preferred, borrowing)</td> <td>Discrete unit of work executed by a runner within a stage. Polysemy: "job" is generic in English; in CI/CD it has a specific technical meaning. Quickterm confirms FR = "job" (borrowing, Preferred): do not translate. Criteria: 1,2,3,4,7.</td> </tr> <tr> <td>runner</td> <td>doc/ci/_index.md</td> <td>Yes</td> <td>runner (Preferred, borrowing)</td> <td>Agent that picks up and executes CI/CD jobs. Confusability risk: "runner" as a concept vs. "GitLab Runner" as a product (excluded). Quickterm confirms FR = "runner" (borrowing, Preferred): do not translate. Criteria: 1,2,3,4,5,7.</td> </tr> <tr> <td>CI/CD variable</td> <td>doc/ci/_index.md</td> <td>Yes</td> <td>variable CI/CD (Preferred)</td> <td>Environment variable specific to CI/CD pipelines. Quickterm FR confirmed. Part of a system: predefined, custom, protected, masked variables. Criteria: 1,3,4,5,7.</td> </tr> <tr> <td>protected variable</td> <td>doc/ci/_index.md</td> <td>Yes</td> <td>variable protégée (Preferred)</td> <td>Variable restricted to protected branches/tags. "Protected" has a specific CI/CD meaning distinct from general "secure". Quickterm FR confirmed. Criteria: 1,3,4,5,7.</td> </tr> <tr> <td>masked variable</td> <td>doc/ci/_index.md</td> <td>Yes</td> <td>variable masquée (Preferred)</td> <td>Variable whose value is hidden in job logs. "Masked" is domain-specific; confusion risk with display/visibility terminology. Quickterm FR confirmed. Criteria: 1,2,3,4,5,7.</td> </tr> <tr> <td>CI/CD component</td> <td>doc/ci/_index.md</td> <td>Yes</td> <td>composant CI/CD de prébuild (Preferred)</td> <td>Reusable, versioned pipeline configuration unit published to the CI/CD Catalog. Quickterm FR includes "de prébuild" which may be overly specific; needs verification against current docs usage. Criteria: 1,3,4,5,6,7.</td> </tr> <tr> <td>CI/CD Catalog</td> <td>doc/ci/_index.md</td> <td>Yes</td> <td>catalogue CI/CD (Preferred)</td> <td>Central repository for discovering and sharing CI/CD components. Quickterm translates as "catalogue CI/CD" (lowercase). Note: AI Catalog (Duo) is a separate feature; these two "Catalog" terms must be rendered consistently. Criteria: 1,3,5,6,7,8.</td> </tr> <tr> <td>CI/CD expression</td> <td>doc/ci/_index.md</td> <td>No</td> <td></td> <td>New syntax ($[[ ]]) for dynamic input evaluation in pipelines. Not in Quickterm. No established FR equivalent. Criteria: 1,3,4,5,6.</td> </tr> <tr> <td>inputs context</td> <td>doc/ci/_index.md</td> <td>No</td> <td></td> <td>New CI/CD expression context providing access to component inputs. Paired with matrix context. Not in Quickterm. FR: "contexte d'entrées" or "contexte inputs"? Criteria: 1,3,6,7.</td> </tr> <tr> <td>matrix context</td> <td>doc/ci/_index.md</td> <td>No</td> <td></td> <td>New CI/CD expression context for matrix job values. Paired with inputs context. Not in Quickterm. FR: "contexte de matrice" or "contexte matrix"? Criteria: 1,3,6,7.</td> </tr> <tr> <td>SAST</td> <td>doc/user/application_security/sast/_index.md</td> <td>Yes</td> <td>test statique de sécurité des applications (Preferred)</td> <td>Static Application Security Testing: analysis of source code for security vulnerabilities. Quickterm note: first instance write out in full as "test statique de sécurité des applications (SAST)", then use SAST; in titles use SAST. Acronym kept in all languages. Criteria: 1,2,3,4,5,8.</td> </tr> <tr> <td>analyzer</td> <td>doc/user/application_security/sast/_index.md</td> <td>No (Quickterm match was a different term)</td> <td></td> <td>In SAST context: a tool/scanner (e.g. Semgrep, SpotBugs) that performs static analysis. Polysemy: "analyzer" can mean person or tool; in security docs always means tool. FR: "analyseur" (generic) risks confusion. Criteria: 1,2,3,4,5.</td> </tr> <tr> <td>finding</td> <td>doc/user/application_security/sast/_index.md</td> <td>Yes</td> <td>détection de failles de sécurité (Preferred)</td> <td>A security issue detected on a non-default branch, before being confirmed as a vulnerability. The finding/vulnerability distinction is critical: findings become vulnerabilities only after merging to the default branch. Criteria: 1,2,3,4,5,7.</td> </tr> <tr> <td>vulnerability</td> <td>doc/user/application_security/sast/_index.md, doc/user/application_security/get-started-security.md</td> <td>Yes</td> <td>vulnérabilité (Preferred)</td> <td>A security issue confirmed on the default branch (contrast: finding). The finding/vulnerability distinction must be maintained consistently. Criteria: 1,2,3,4,5,7.</td> </tr> <tr> <td>ruleset</td> <td>doc/user/application_security/sast/_index.md</td> <td>Yes</td> <td>ensemble de règles (Preferred)</td> <td>Set of rules controlling analyzer behavior, configured in .gitlab/sast-ruleset.toml. Quickterm FR confirmed. Criteria: 1,3,4,5,7.</td> </tr> <tr> <td>severity</td> <td>doc/user/application_security/sast/_index.md</td> <td>Yes</td> <td>gravité (Preferred)</td> <td>Six-level classification of vulnerability impact (Critical, High, Medium, Low, Info, Unknown). Quickterm confirms FR = "gravité"; note: "sévérité" also appears in some GitLab FR strings. Criteria: 1,3,4,5,8.</td> </tr> <tr> <td>advanced vulnerability tracking</td> <td>doc/user/application_security/sast/_index.md</td> <td>No</td> <td></td> <td>Algorithm that follows a vulnerability as code moves (refactoring, line number changes), preventing duplicate reports. Ultimate-tier feature. Not in Quickterm. FR: "suivi avancé des vulnérabilités"? Criteria: 1,3,5,6,7.</td> </tr> <tr> <td>pre-filter</td> <td>doc/user/application_security/sast/_index.md</td> <td>No</td> <td></td> <td>Filtering applied before a SAST scan runs to reduce noise. Paired with post-filter; must be translated consistently. FR: "pré-filtre" or "filtrage préalable"? Criteria: 1,2,3,4,7.</td> </tr> <tr> <td>post-filter</td> <td>doc/user/application_security/sast/_index.md</td> <td>No</td> <td></td> <td>Filtering applied after a SAST scan to suppress false positives. Paired with pre-filter; must be translated consistently. FR: "post-filtre" or "filtrage ultérieur"? Criteria: 1,2,3,4,7.</td> </tr> <tr> <td>secret detection</td> <td>doc/user/application_security/get-started-security.md</td> <td>Yes</td> <td>détection des secrets (Preferred)</td> <td>Scanning for exposed credentials, API keys, and secrets in code or commit history. Part of the security scanning ecosystem alongside SAST, DAST, dependency scanning. Criteria: 1,3,4,5,7.</td> </tr> <tr> <td>dependency scanning</td> <td>doc/user/application_security/get-started-security.md</td> <td>Yes</td> <td>analyse des dépendances (Preferred)</td> <td>Analyzing application dependencies for known vulnerabilities. Part of the security scanning ecosystem. Quickterm confirms FR = "analyse des dépendances". Criteria: 1,3,4,5,7.</td> </tr> <tr> <td>baseline scan</td> <td>doc/user/application_security/get-started-security.md</td> <td>No</td> <td></td> <td>Initial security scan on the default branch establishing the reference state for vulnerability detection. Not in Quickterm. FR: "scan de référence" or "scan de base"? Criteria: 1,3,4,5.</td> </tr> <tr> <td>scan execution policy</td> <td>doc/user/application_security/get-started-security.md</td> <td>No</td> <td></td> <td>Governance policy that enforces scheduled or pipeline security scans across projects. Part of the policy enforcement system alongside merge request approval policy. Not in Quickterm. Criteria: 1,3,5,6,7.</td> </tr> <tr> <td>merge request approval policy</td> <td>doc/user/application_security/get-started-security.md</td> <td>No</td> <td></td> <td>Policy enforcing required approvals on merge requests based on security scan results. Paired with scan execution policy. Not in Quickterm. FR: long compound ("politique d'approbation de demande de fusion")? Criteria: 1,3,5,7.</td> </tr> <tr> <td>remediation</td> <td>doc/user/application_security/get-started-security.md</td> <td>Yes</td> <td>correction (Preferred)</td> <td>The process of fixing or mitigating a vulnerability. Quickterm maps to "correction", but "correction" is very generic and may not convey the security remediation workflow. "Remédiation" exists as a FR borrowing. Needs discussion. Criteria: 1,2,3,4,5.</td> </tr> </table> #### Terms excluded after applying extraction criteria - `GitLab Advanced SAST`: GitLab product/feature name - `GitLab Runner`: product name - `CWE identifier`: stays as standard abbreviation, no translation needed - `false positive`: "faux positif" is standard and unambiguous for any competent translator - `merge request widget`: UI label per scope rules - `inline annotation`: UI component, derivable - `vulnerability triage`: "triage" is of French origin; "triage des vulnérabilités" is transparent and derivable - `security dashboard`: in Quickterm with FR confirmed (tableau de bord de sécurité) - `agentic vulnerability resolution`: overlaps with Duo Agent Platform extraction (#937) - `Docker, Kubernetes, Terraform, Semgrep, SpotBugs`: third-party product names
issue