AI Slop Code Risk Monitor

bitwarden/clients

SlopCodeMonitor badge for bitwarden/clients Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Bitwarden client apps (web, browser extension, desktop, and cli).

1.2 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for bitwarden/clients, a TypeScript project with 14,119 GitHub stars. SynthScan examined 3,414,480 lines of code across 8943 source files, recording 3755 pattern matches distributed across 12 syntactic categories. The legacy adjusted pattern signal is 1.2 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

1.2
Adjusted Signal
1.2
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
14.1K
Stars
TypeScript
Language
3.4M
Lines of Code
8.9K
Files
3.8K
Pattern Hits
2026-10-31
Scan Date
0.01
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 1.0/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 626 finding(s).

Hallucinated Dependency & Supply Chain Risk 4.9/100 · LOW

Are imports declared and package/API names verified? 3118 finding(s).

Agent Over-Engineering Ratio 0.6/100 · LOW

Are wrappers, guards, and repeated structures necessary? 373 finding(s).

PR Review Velocity Impact 6.1/100 · LOW

Which changes need focused human review? 3755 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 53HIGH 4MEDIUM 17LOW 3681

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 3755 distinct pattern matches across 12 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Fake / Example Data3061 hits · 2782 pts
SeverityFileLineSnippetContext
LOW…uth-requests/organization-auth-request.service.spec.ts185 jest.spyOn(keyService, "orgKeys$").mockReturnValue(of({ key: "fake-key" }));CODE
LOW…uth-requests/organization-auth-request.service.spec.ts237 jest.spyOn(keyService, "orgKeys$").mockReturnValue(of({ key: "fake-key" }));CODE
LOW…persistence/default-report-persistence.service.spec.ts314 "member-1": { id: "member-1", userName: "John Doe", email: "john@example.com" },CODE
LOW…entations/domain/default-cipher-health.service.spec.ts47 username: options.username ?? "user@example.com",CODE
LOW…/helpers/type-guards/risk-insights-type-guards.spec.ts31 userName: "John Doe",CODE
LOW…/helpers/type-guards/risk-insights-type-guards.spec.ts39 userName: "Jane Doe",CODE
LOW…/helpers/type-guards/risk-insights-type-guards.spec.ts389 userName: "John Doe",CODE
LOW…/helpers/type-guards/risk-insights-type-guards.spec.ts399 userName: "John Doe",CODE
LOW⚡…/helpers/type-guards/risk-insights-type-guards.spec.ts429 userName: "John Doe",CODE
LOW⚡…/helpers/type-guards/risk-insights-type-guards.spec.ts439 userName: "John Doe",CODE
LOW⚡…/helpers/type-guards/risk-insights-type-guards.spec.ts449 userName: "John Doe",CODE
LOW…t-web/src/app/auth/sso/sso-manage.component.stories.ts76 activeAccount$: of({ id: "user-1", email: "user@example.com", emailVerified: true }),CODE
LOW…rc/app/providers/providers-layout.component.stories.ts117 activeAccount$: of({ id: USER_ID, email: "user@example.com", emailVerified: true }),CODE
LOW…t-web/src/app/providers/providers.component.stories.ts61 activeAccount$: of({ id: USER_ID, email: "user@example.com", emailVerified: true }),CODE
LOW…/add-existing-organization-dialog.component.stories.ts68 name: "Acme Inc",CODE
LOW…manage-client-subscription-dialog.component.stories.ts23 organizationName: "Acme Inc",CODE
LOW…clients/manage-client-name-dialog.component.stories.ts22 organization: { id: "org-1", name: "Acme Inc", seats: 10 },CODE
LOW…/providers/clients/manage-clients.component.stories.ts45 organizationName: "Acme Inc",CODE
LOW…/providers/clients/manage-clients.component.stories.ts120 activeAccount$: of({ id: USER_ID, email: "user@example.com", emailVerified: true }),CODE
LOW…/providers/clients/manage-clients.component.stories.ts171 client({ id: "provider-org-1", organizationId: "org-1", organizationName: "Acme Inc" }),CODE
LOW…/src/app/providers/manage/members.component.stories.ts117 activeAccount$: of({ id: USER_ID, email: "user@example.com", emailVerified: true }),CODE
LOW…-web/src/app/pam/access-requests/my-access-row.spec.ts210 const human = decision({ deciderKind: "human", name: "Jane Doe", email: "jane@example.com" });CODE
LOW…-web/src/app/pam/access-requests/my-access-row.spec.ts213 resolverName: "Jane Doe",CODE
LOW…-web/src/app/pam/access-requests/my-access-row.spec.ts224 const human = decision({ deciderKind: "human", name: "Jane Doe", email: "jane@example.com" });CODE
LOW…-web/src/app/pam/access-requests/my-access-row.spec.ts241 const human = decision({ deciderKind: "human", name: "Jane Doe", id: "user-9" });CODE
LOW…-web/src/app/pam/access-requests/my-access-row.spec.ts245 resolverName: "Jane Doe",CODE
LOW…-web/src/app/pam/access-requests/my-access-row.spec.ts395 decisions: [decision({ deciderKind: "human", name: "Jane Doe", comment: "Not now" })],CODE
LOW…-web/src/app/pam/access-requests/my-access-row.spec.ts400 expect(row.resolverName).toBe("Jane Doe");CODE
LOW…pp/pam/access-requests/approvals-tab.component.spec.ts951 return query("bit-search input")?.getAttribute("placeholder");CODE
LOW…/pam/access-requests/my-requests-tab.component.spec.ts747 return query("bit-search input")?.getAttribute("placeholder");CODE
LOW…rc/app/pam/access-rules/access-rules.component.spec.ts999 expect(toolbar(fixture)!.querySelector("bit-search input")!.getAttribute("placeholder")).toBe(CODE
LOW…ged-credentials/rotation-config-edit.component.spec.ts76 sealed: rotationConfigSealedFields({ accountIdentity: "admin@example.com" }),CODE
LOW…ged-credentials/rotation-config-edit.component.spec.ts267 accountIdentity: "admin@example.com",CODE
LOW…ged-credentials/rotation-config-edit.component.spec.ts290 accountIdentity: "admin@example.com",CODE
LOW…ged-credentials/rotation-config-edit.component.spec.ts301 accountIdentity: "admin@example.com",CODE
LOW…ged-credentials/rotation-config-edit.component.spec.ts317 accountIdentity: "admin@example.com",CODE
LOW…ged-credentials/rotation-config-edit.component.spec.ts340 component.createForm.controls.accountIdentity.setValue("admin@example.com");CODE
LOW…ged-credentials/rotation-config-edit.component.spec.ts934 component.createForm.controls.accountIdentity.setValue("admin@example.com");CODE
LOW…-credentials/managed-credentials-tab.component.spec.ts1485 expect(input.getAttribute("placeholder")).toBe("pamRotationConfigSearch");CODE
LOW…ess-connectors/access-connectors-tab.component.spec.ts1548 expect(input.getAttribute("placeholder")).toBe("pamAccessConnectorSearch");CODE
LOW…on/target-systems/target-systems-tab.component.spec.ts2087 expect(input.getAttribute("placeholder")).toBe("pamTargetSystemSearch");CODE
LOW…it-web/src/app/pam/helpers/find-human-decision.spec.ts39 decision({ deciderKind: "human", name: "Jane Doe", email: "jane@example.com" }),CODE
LOW…it-web/src/app/pam/helpers/find-human-decision.spec.ts41 expect(approver).toEqual({ id: undefined, name: "Jane Doe", email: "jane@example.com" });CODE
LOW…-verification/domain-verification.component.stories.ts77 activeAccount$: of({ id: USER_ID, email: "user@example.com", emailVerified: true }),CODE
LOW…device-approvals/device-approvals.component.stories.ts130 activeAccount$: of({ id: "user-1", email: "user@example.com", emailVerified: true }),CODE
LOW…e/shared/risk-insights-drawer-dialog.component.spec.ts131 { email: "user@example.com", atRiskPasswordCount: 5 },CODE
LOW…e/shared/risk-insights-drawer-dialog.component.spec.ts132 { email: "admin@example.com", atRiskPasswordCount: 3 },CODE
LOW…e/shared/risk-insights-drawer-dialog.component.spec.ts156 atRiskMemberDetails: [{ email: "user@example.com", atRiskPasswordCount: 5 }],CODE
LOW…e/shared/risk-insights-drawer-dialog.component.spec.ts167 atRiskMemberDetails: [{ email: "user@example.com", atRiskPasswordCount: 5 }],CODE
LOW…/shared/app-table-row-scrollable-m11.component.spec.ts31 userName: "John Doe",CODE
LOW…components/send-details/send-details.component.spec.ts181 emails: "user@example.com",CODE
LOW…ents/share-item-form/share-item-form.component.spec.ts33 login: { username: "user@example.com", uris: [] },CODE
LOW…ents/share-item-form/share-item-form.component.spec.ts159 emails: ["test@test.com"],CODE
LOW…ents/share-item-form/share-item-form.component.spec.ts182 emails: ["test@test.com"],CODE
LOW…orter/src/importers/passwordboss-json-importer.spec.ts34 nameOnCard: "Jane Doe",CODE
LOW…orter/src/importers/passwordboss-json-importer.spec.ts109 expect(card.card.cardholderName).toEqual("Jane Doe");CODE
LOW…orter/src/importers/passwordboss-json-importer.spec.ts170 nameOnCard: "Jane Doe",CODE
LOW…orter/src/importers/passwordboss-json-importer.spec.ts240 nameOnCard: "Jane Doe",CODE
LOWlibs/importer/src/importers/myki-csv-importer.spec.ts561 expect(cipher.notes).toBe("The content of a secure note. Lorem ipsum, etc.");CODE
LOW…/importer/src/importers/clipperz-html-importer.spec.ts32 "0": { label: "username", actionType: "username", value: "user@example.com" },CODE
3001 more matches not shown…
Hallucination Indicators53 hits · 590 pts
SeverityFileLineSnippetContext
CRITICAL…s-rules/access-rule-edit/access-rule-edit.component.ts258 this.formGroup.controls.collections.valueChanges.pipe(CODE
CRITICAL…s-rules/access-rule-edit/access-rule-edit.component.ts483 this.formGroup.controls.collections.value.map((c) => c.id),CODE
CRITICAL…access-connectors/access-connector-detail.component.ts297 this.formGroup.controls.active.valueChanges.pipe(takeUntilDestroyed()).subscribe((active) => {CODE
CRITICAL…/bit-web/src/app/pam/helpers/access-rule-error.spec.ts17 "Bit.Services.Pam.Services.AccessRuleWriteValidator.ValidateAsync(Guid organizationId) in " +CODE
CRITICAL…t-web/src/app/dirt/provider-events/events.component.ts75 this.route.parent.parent.params.subscribe(async (params) => {CODE
CRITICAL…nents/send-details/send-file-details.component.spec.ts48 fixture.componentInstance.sendFileDetailsForm.controls.file.setValue(file);CODE
CRITICAL…nents/send-details/send-file-details.component.spec.ts54 fixture.componentInstance.sendFileDetailsForm.controls.file.setValue(null);CODE
CRITICAL…nents/send-details/send-file-details.component.spec.ts66 fixture.componentInstance.sendFileDetailsForm.controls.file.setValue(oversized);CODE
CRITICAL…nents/send-details/send-file-details.component.spec.ts80 fixture.componentInstance.sendFileDetailsForm.controls.file.setValue(atLimit);CODE
CRITICAL…nents/send-details/send-file-details.component.spec.ts106 fixture.componentInstance.sendFileDetailsForm.controls.file.setValue(oversized);CODE
CRITICALlibs/importer/src/components/import.component.ts335 this.formGroup.controls.chromiumLoader.valueChanges.pipe(CODE
CRITICAL…omponents/import-controls/import-controls.component.ts706 this.formGroup.controls.method.valueChanges.pipe(takeUntilDestroyed()).subscribe((method) => {CODE
CRITICAL…omponents/import-controls/import-controls.component.ts729 this.formGroup.controls.file.valueChanges.pipe(takeUntilDestroyed()).subscribe((file) => {CODE
CRITICAL…omponents/import-controls/import-controls.component.ts750 this.formGroup.controls.fileContents.valueChanges.pipe(takeUntilDestroyed()).subscribe(() => {CODE
CRITICAL…import-controls-keeper-method-picker.component.spec.ts68 fixture.componentInstance.form.controls.method.disable();CODE
CRITICAL…r/src/components/lastpass/import-lastpass.component.ts57 protected emailHint$ = this.formGroup.controls.email.statusChanges.pipe(CODE
CRITICALlibs/auth/src/angular/login/login.component.ts307 this.formGroup.controls.email.valueChanges.pipe(startWith(this.emailFormControl.value)),CODE
CRITICAL…out/components/session-timeout-input.component.spec.ts386 component.form.controls.custom.controls.hours.setValue(null);CODE
CRITICAL…out/components/session-timeout-input.component.spec.ts502 component.form.controls.custom.controls.hours.setValue(0);CODE
CRITICAL…out/components/session-timeout-input.component.spec.ts511 component.form.controls.custom.controls.hours.setValue(hours);CODE
CRITICAL⚡…out/components/session-timeout-input.component.spec.ts734 component.form.controls.custom.controls.hours.setValue(null);CODE
CRITICAL⚡…out/components/session-timeout-input.component.spec.ts735 component.form.controls.custom.controls.minutes.setValue(30);CODE
CRITICAL⚡…out/components/session-timeout-input.component.spec.ts745 component.form.controls.custom.controls.hours.setValue(1);CODE
CRITICAL⚡…out/components/session-timeout-input.component.spec.ts746 component.form.controls.custom.controls.minutes.setValue(null);CODE
CRITICAL⚡…out/components/session-timeout-input.component.spec.ts756 component.form.controls.custom.controls.hours.setValue(null);CODE
CRITICAL⚡…out/components/session-timeout-input.component.spec.ts757 component.form.controls.custom.controls.minutes.setValue(null);CODE
CRITICAL⚡libs/components/src/select/select.component.spec.ts108 fixture.componentInstance.form.controls.fruits.disable();CODE
CRITICAL⚡libs/components/src/select/select.component.spec.ts117 fixture.componentInstance.form.controls.fruits.disable();CODE
CRITICAL⚡libs/components/src/select/select.component.spec.ts120 fixture.componentInstance.form.controls.fruits.enable();CODE
CRITICAL…s/vault/src/components/assign-collections.component.ts393 this.formGroup.controls.collections.value.map((i) => i.id as CollectionId),CODE
CRITICAL…s/vault/src/components/assign-collections.component.ts659 this.formGroup.controls.collections.value.map((i) => i.id as CollectionId),CODE
CRITICAL…s/vault/src/components/assign-collections.component.ts666 this.formGroup.controls.collections.value.find(CODE
CRITICAL…nents/collection-dialog/collection-dialog.component.ts139 this.formGroup.controls.externalId.valueChanges.pipe(map((value) => value || undefined)),CODE
CRITICAL…nents/collection-dialog/collection-dialog.component.ts159 private readonly selectedOrgId$ = this.formGroup.controls.selectedOrg.valueChanges.pipe(CODE
CRITICAL…nents/collection-dialog/collection-dialog.component.ts299 protected readonly buttonDisplayName$ = this.formGroup.controls.selectedOrg.statusChanges.pipe(CODE
CRITICAL…s/manage/group-add-edit/group-edit-dialog.component.ts136 this.groupForm.controls.externalId.valueChanges.pipe(map((value) => value || undefined)),CODE
CRITICAL…ponents/invite-members-dialog/by-link-tab.component.ts142 this.form.controls.domains.valueChanges.pipe(CODE
CRITICAL…nts/edit-member-dialog/edit-member-dialog.component.ts225 this.formGroup.controls.externalId.valueChanges.pipe(map((v) => v || undefined)),CODE
CRITICAL…nts/edit-member-dialog/edit-member-dialog.component.ts230 this.formGroup.controls.ssoExternalId.valueChanges.pipe(map((v) => v || undefined)),CODE
CRITICAL…izations/restart-subscription-dialog.component.spec.ts330 dialog.formGroup.controls.billingAddress.controls.postalCode.setValue(postalCode);CODE
CRITICAL…g/payment/components/enter-payment-method.component.ts284 this.group().controls.billingAddress.controls.country.valueChanges.pipe(CODE
CRITICAL…/payment/components/enter-billing-address.component.ts206 this.supportsTaxId$ = this.group.controls.country.valueChanges.pipe(CODE
CRITICAL⚡…trial-payment-dialog/trial-payment-dialog.component.ts186 this.formGroup.controls.billingAddress.controls.country.valueChanges.pipe(CODE
CRITICAL⚡…trial-payment-dialog/trial-payment-dialog.component.ts189 this.formGroup.controls.billingAddress.controls.postalCode.valueChanges.pipe(CODE
CRITICAL⚡…trial-payment-dialog/trial-payment-dialog.component.ts192 this.formGroup.controls.billingAddress.controls.taxId.valueChanges.pipe(CODE
CRITICAL…ion/trial-billing-step/trial-billing-step.component.ts89 protected readonly cadenceSelected$ = this.formGroup.controls.cadence.valueChanges.pipe(CODE
CRITICAL…ion/trial-billing-step/trial-billing-step.component.ts100 this.formGroup.controls.billingAddress.valueChanges.pipe(CODE
CRITICAL…ion/trial-billing-step/trial-billing-step.component.ts145 const billingAddressChanged$ = this.formGroup.controls.billingAddress.valueChanges.pipe(CODE
CRITICAL…l/upgrade/upgrade-payment/upgrade-payment.component.ts186 this.formGroup.controls.billingAddress.valueChanges.pipe(CODE
CRITICAL…l/upgrade/upgrade-payment/upgrade-payment.component.ts304 this.formGroup.controls.paymentForm.valueChanges.pipe(CODE
CRITICAL…grade-payment/premium-org-upgrade-payment.component.ts174 this.formGroup.controls.billingAddress.valueChanges.pipe(CODE
CRITICALapps/desktop/src/main/messaging.main.ts93 this.main.windowMain.win.webContents.send("messagingService", {CODE
CRITICALapps/desktop/src/main/messaging.main.ts140 this.main.windowMain.win.webContents.send("messagingService", {CODE
Hyper-Verbose Identifiers362 hits · 382 pts
SeverityFileLineSnippetContext
LOW…/dirt/reports/risk-insights/models/api-models.types.ts59export function isSaveRiskInsightsReportResponse(obj: any): obj is SaveRiskInsightsReportResponse {CODE
LOW…src/dirt/reports/risk-insights/testing/test-helpers.ts276export function createRiskInsightsSummary(CODE
LOW…src/dirt/reports/risk-insights/testing/test-helpers.ts320export function createAccessReportMetrics(CODE
LOW…ights/helpers/type-guards/risk-insights-type-guards.ts162export function validateApplicationHealthReportDetailArray(CODE
LOW…ights/helpers/type-guards/risk-insights-type-guards.ts196export function validateOrganizationReportSummary(CODE
LOW…ights/helpers/type-guards/risk-insights-type-guards.ts277export function validateAccessReportSummaryView(data: unknown): AccessReportSummaryView {CODE
LOW…ights/helpers/type-guards/risk-insights-type-guards.ts290export function validateOrganizationReportApplicationArray(CODE
LOW…ights/helpers/type-guards/risk-insights-type-guards.ts349export function validateAccessReportSettingsDataArray(CODE
LOW…ights/helpers/type-guards/risk-insights-type-guards.ts385export function validateAccessReportPayload(data: unknown): ValidationResult<AccessReportPayload> {CODE
LOW…risk-insights/helpers/type-guards/basic-type-guards.ts41export function isBoundedPositiveNumberOrUndefined(CODE
LOW…risk-insights/helpers/type-guards/basic-type-guards.ts55export function isBoundedStringOrUndefined(value: unknown): value is BoundedStringOrUndefined {CODE
LOW…r/shared/access-policies/access-policy.service.spec.ts234function createUserAccessPolicyView(isWrite: boolean, currentUser: boolean): UserAccessPolicyView {CODE
LOW…r/shared/access-policies/access-policy.service.spec.ts245function createGroupAccessPolicyView(CODE
LOW…r/shared/access-policies/access-policy.service.spec.ts259function createServiceAccountAccessPolicyView(isWrite: boolean): ServiceAccountAccessPolicyView {CODE
LOW…r/shared/access-policies/access-policy.service.spec.ts269function createGrantedProjectPolicyPermissionDetailsView(CODE
LOW…r/shared/access-policies/access-policy.service.spec.ts285function toPeopleAccessPoliciesRequest(CODE
LOW…r/shared/access-policies/access-policy.service.spec.ts302function toServiceAccountGrantedPoliciesRequest(CODE
LOW…r/shared/access-policies/access-policy.service.spec.ts314function toProjectServiceAccountsAccessPoliciesRequest(CODE
LOW…r/shared/access-policies/access-policy.service.spec.ts328function toProjectPeopleAccessPoliciesResponseRaw(view: ProjectPeopleAccessPoliciesView) {CODE
LOW…r/shared/access-policies/access-policy.service.spec.ts347function toServiceAccountPeopleAccessPoliciesResponseRaw(CODE
LOW…r/shared/access-policies/access-policy.service.spec.ts368function toServiceAccountGrantedPoliciesResponseRaw(view: ServiceAccountGrantedPoliciesView) {CODE
LOW…r/shared/access-policies/access-policy.service.spec.ts382function toProjectServiceAccountsAccessPoliciesResponseRaw(CODE
LOW…es/access-policy-selector/models/ap-item-value.spec.ts179function createServiceAccountApItems(): ApItemValueType[] {CODE
LOW…es/access-policy-selector/models/ap-item-value.type.ts25export function convertToPeopleAccessPoliciesView(selectedPolicyValues: ApItemValueType[]) {CODE
LOW…es/access-policy-selector/models/ap-item-value.type.ts32export function convertToServiceAccountGrantedPoliciesView(CODE
LOW⚡…es/access-policy-selector/models/ap-item-value.type.ts53export function convertToProjectServiceAccountsAccessPoliciesView(CODE
LOW⚡…es/access-policy-selector/models/ap-item-value.type.ts61export function convertToSecretAccessPoliciesView(CODE
LOW⚡…es/access-policy-selector/models/ap-item-value.type.ts71function convertToUserAccessPolicyViews(apItemValues: ApItemValueType[]): UserAccessPolicyView[] {CODE
LOW…es/access-policy-selector/models/ap-item-value.type.ts83function convertToGroupAccessPolicyViews(apItemValues: ApItemValueType[]): GroupAccessPolicyView[] {CODE
LOW…es/access-policy-selector/models/ap-item-value.type.ts95function convertToServiceAccountAccessPolicyViews(CODE
LOW…ies/access-policy-selector/models/ap-item-view.spec.ts123function createUserAccessPolicyViews(): UserAccessPolicyView[] {CODE
LOW…ies/access-policy-selector/models/ap-item-view.spec.ts165function createGroupAccessPolicyViews(): GroupAccessPolicyView[] {CODE
LOW…ies/access-policy-selector/models/ap-item-view.spec.ts207function createServiceAccountAccessPolicyViews(): ServiceAccountAccessPolicyView[] {CODE
LOW…ies/access-policy-selector/models/ap-item-view.spec.ts245function createGrantedPoliciesView() {CODE
LOW⚡…ies/access-policy-selector/models/ap-item-view.spec.ts291function createPeopleAccessPoliciesView() {CODE
LOW⚡…ies/access-policy-selector/models/ap-item-view.spec.ts298function createProjectServiceAccountsAccessPoliciesView(): ProjectServiceAccountsAccessPoliciesView {CODE
LOW⚡…ies/access-policy-selector/models/ap-item-view.spec.ts304function createSecretAccessPoliciesView(): SecretAccessPoliciesView {CODE
LOW…ies/access-policy-selector/models/ap-item-view.type.ts46export function convertToAccessPolicyItemViews(CODE
LOW…ies/access-policy-selector/models/ap-item-view.type.ts55export function convertGrantedPoliciesToAccessPolicyItemViews(CODE
LOW⚡…ies/access-policy-selector/models/ap-item-view.type.ts77export function convertProjectServiceAccountsViewToApItemViews(CODE
LOW⚡…ies/access-policy-selector/models/ap-item-view.type.ts83export function convertSecretAccessPoliciesToApItemViews(CODE
LOW⚡…ies/access-policy-selector/models/ap-item-view.type.ts93export function convertPotentialGranteesToApItemViewType(CODE
LOW…ies/access-policy-selector/models/ap-item-view.type.ts170function toServiceAccountsApItemViews(CODE
LOW…-rules/access-rule-edit/ip-allowlist/cidr.validator.ts43export function noDuplicateCidrsValidator(): ValidatorFn {CODE
LOW…-rules/access-rule-edit/ip-allowlist/cidr.validator.ts53export function atLeastOneNonEmptyCidrValidator(): ValidatorFn {CODE
LOW…cipher-view-banner/request-access-window.validators.ts21export function requestWindowEndValidator(CODE
LOW…_license/bit-web/src/app/pam/testing/story-fixtures.ts160export function provideStoryProductSwitcher() {CODE
LOW…_license/bit-web/src/app/pam/testing/story-fixtures.ts185export function provideStoryChangeDetection() {CODE
LOW⚡…license/bit-web/src/app/pam/rotation/rotation-error.ts30function isTargetSystemCreateError(e: unknown): e is TargetSystemCreateError {CODE
LOW⚡…license/bit-web/src/app/pam/rotation/rotation-error.ts40export function targetSystemCreatePendingId(e: unknown): TargetSystemId | undefined {CODE
LOW⚡…license/bit-web/src/app/pam/rotation/rotation-error.ts45export function targetSystemCreateErrorMessage(e: unknown): string | undefined {CODE
LOW…naged-credentials/managed-credentials-tab.component.ts415function toManagedCredentialFilter(values: ManagedCredentialFilterValues): ManagedCredentialFilter {CODE
LOW…-credentials/managed-credentials-tab.component.spec.ts60function makeTargetSystemsServiceStub(systems: unknown[] = [{ id: "ts-1" }]) {CODE
LOW…-credentials/managed-credentials-tab.component.spec.ts96function makeCipherCollectionProviders(CODE
LOW…ess-connectors/access-connectors-tab.component.spec.ts418 function accessConnectorWithAssignments(...ids: TargetSystemId[]): AccessConnectorRow {CODE
LOW…m/rotation/access-connectors/access-connector-label.ts4export function accessConnectorStatusLabelKey(CODE
LOW…m/rotation/access-connectors/access-connector-label.ts10export function accessConnectorConnectionLabelKey(CODE
LOW…-web/src/app/pam/rotation/testing/rotation-builders.ts131export function rotationConfigSealedFields(CODE
LOW…-web/src/app/pam/rotation/testing/rotation-builders.ts165export function unverifiableRotationConfig(CODE
LOW…-web/src/app/pam/rotation/testing/rotation-builders.ts224export function rotationConfigDescription(CODE
302 more matches not shown…
Over-Commented Block148 hits · 148 pts
SeverityFileLineSnippetContext
LOW…ss-intelligence/models/view/application-health.view.ts181 // [TODO] SDK MappingCOMMENT
LOW…src/dirt/reports/risk-insights/models/report-models.ts141}COMMENT
LOW…risk-insights/models/view/risk-insights-report.view.ts61 // [TODO] SDK MappingCOMMENT
LOW…/reports/risk-insights/models/api/risk-insights.api.ts41 // Use when individual values are encryptedCOMMENT
LOW…eports/risk-insights/models/data/risk-insights.data.ts41 // this.summary = new RiskInsightsSummaryData(response.summaryData);COMMENT
LOW…t/reports/risk-insights/models/domain/risk-insights.ts41COMMENT
LOW…s/risk-insights/models/domain/risk-insights-summary.ts41COMMENT
LOW…risk-insights/helpers/type-guards/basic-type-guards.ts241COMMENT
LOW…pp/dirt/access-intelligence/risk-insights.component.ts341 // - After Complete step is shown, emit null to hide loadingCOMMENT
LOW…elligence/shared/app-table-row-scrollable.component.ts41 // FIXME(https://bitwarden.atlassian.net/browse/CL-903): Migrate to SignalsCOMMENT
LOWlibs/importer/src/importers/myki-csv-importer.ts101 cipher.type = CipherType.Identity;COMMENT
LOW…rter/src/importers/keeper/keeper-json-importer.spec.ts61 //COMMENT
LOW…n/registration-finish/registration-finish.component.ts121 // Sealed open-org-invite blob carried on the verification-email URL when the registrantCOMMENT
LOW…src/angular/input-password/input-password.component.ts141 // eslint-disable-next-line @angular-eslint/prefer-output-emitter-refCOMMENT
LOW…src/angular/input-password/input-password.component.ts341COMMENT
LOW…th/src/angular/input-password/password-input-result.ts21 // code in SetInitialPasswordComponent that sets them. Delete the matchingCOMMENT
LOW…ommon/login-strategies/password-login.strategy.spec.ts581 describe("processForceSetPasswordReason", () => {COMMENT
LOW…ommon/login-strategies/password-login.strategy.spec.ts661 // New device verification is a two-request flow:COMMENT
LOW…default-set-initial-password.service.implementation.ts161COMMENT
LOW…default-set-initial-password.service.implementation.ts421 // The method newConstructor() converts that data into the old request shape.COMMENT
LOW…l-password/set-initial-password.service.abstraction.ts41 _SetInitialPasswordUserType[keyof _SetInitialPasswordUserType];COMMENT
LOW…set-initial-password/set-initial-password.component.ts121 const accountEncryptionV2 = await this.configService.getFeatureFlag(COMMENT
LOW…ls/get-device-last-activity-date-i18n-key.func.spec.ts121 // Now : May 29 1 AM local → May 29 UTCCOMMENT
LOW…implementations/default-organization-invite.service.ts181COMMENT
LOW…common/src/auth/models/request/set-password.request.ts1// This import has been flagged as unallowed for this class. It may be involved in a circular dependency loop.COMMENT
LOWlibs/common/src/platform/misc/utils.spec.ts441COMMENT
LOWlibs/common/src/platform/spec/mock-deep.ts1// This is a modification of the code found in https://github.com/marchaos/jest-mock-extendedCOMMENT
LOW…orm/services/fido2/fido2-authenticator.service.spec.ts761 // TODO: Cannot verify signature because it has been converted into DER formatCOMMENT
LOWlibs/common/src/models/view/view.ts1// See https://contributing.bitwarden.com/architecture/clients/data-model/#view for proper use.COMMENT
LOWlibs/common/src/vault/icon/build-cipher-icon.spec.ts41 });COMMENT
LOWlibs/common/src/vault/services/search.service.ts101 const basicResults = this.searchCiphersBasic(ciphers, query);COMMENT
LOWlibs/eslint/empty.ts1// This file is used to avoid TS errors. This package only uses `tsconfig.json` for dynamically generated test files butCOMMENT
LOW…s/registration/web-registration-finish.service.spec.ts81 // `EnableAccountEncryptionV2UserPasswordRegistration` feature flag:COMMENT
LOW…anization-invite/accept-org-direct-invite.component.ts81COMMENT
LOW…y-management/key-rotation/user-key-rotation.service.ts361 // not signed, manual trust prompts are required, to verify that the serverCOMMENT
LOW…/web/src/app/dirt/event-logs/services/event.service.ts1821 hideSendId = false;COMMENT
LOW…billing/organizations/adjust-subscription.component.ts21// FIXME(https://bitwarden.atlassian.net/browse/CL-764): Migrate to OnPushCOMMENT
LOW…/vault/components/vault-items/vault-items.component.ts61 @Input() showOwner: boolean;COMMENT
LOW…/vault/components/vault-items/vault-items.component.ts81 // FIXME(https://bitwarden.atlassian.net/browse/CL-903): Migrate to SignalsCOMMENT
LOW…t/components/vault-items/vault-cipher-row.component.ts61 protected RowHeightClass = RowHeightClass;COMMENT
LOW…t/components/vault-items/vault-cipher-row.component.ts81 @Input() showGroups: boolean;COMMENT
LOW…mponents/vault-items/vault-collection-row.component.ts61 // eslint-disable-next-line @angular-eslint/prefer-signalsCOMMENT
LOW…mponents/vault-items/vault-collection-row.component.ts81 // FIXME(https://bitwarden.atlassian.net/browse/CL-903): Migrate to SignalsCOMMENT
LOWapps/desktop/desktop_native/deny.toml41# If true, ignores workspace crates that aren't published, or are onlyCOMMENT
LOWapps/desktop/desktop_native/core/src/lib.rs1//! Desktop native core functionality for Bitwarden.COMMENT
LOW…ps/desktop/desktop_native/core/src/powermonitor/mod.rs1#[allow(clippy::module_inception)]COMMENT
LOWapps/desktop/desktop_native/core/src/password/mod.rs1//! Secure password storage and retrieval using platform keychains.COMMENT
LOWapps/desktop/desktop_native/core/src/autofill/mod.rs1#[allow(clippy::module_inception)]COMMENT
LOW…ps/desktop/desktop_native/core/src/ipc/announcement.rs1//! The first frame `desktop_proxy` sends the desktop app, telling it which client spawned theCOMMENT
LOW…sktop/desktop_native/core/src/process_isolation/mod.rs1//! This module implements process isolation, which aims to protectCOMMENT
LOW…op/desktop_native/core/src/clipboard/portal_backend.rs41/// Set the clipboard to `text` via the Clipboard portal over a RemoteDesktop session.COMMENT
LOWapps/desktop/desktop_native/proxy/src/main.rs81 init_logging(&log_path, LevelFilter::INFO, LevelFilter::INFO);COMMENT
LOW…ktop/desktop_native/autofill_provider/src/assertion.rs21 /// User verification preference.COMMENT
LOW…ktop/desktop_native/autofill_provider/src/assertion.rs101COMMENT
LOW…ps/desktop/desktop_native/autofill_provider/src/lib.rs101pub enum ConnectionStatus {COMMENT
LOW…ps/desktop/desktop_native/autofill_provider/src/lib.rs121/// the desktop app is running with [`AutofillProviderClient::is_available`],COMMENT
LOW…ps/desktop/desktop_native/autofill_provider/src/lib.rs141/// let client = AutofillProviderClient::connect();COMMENT
LOW…ps/desktop/desktop_native/autofill_provider/src/lib.rs221}COMMENT
LOW…ps/desktop/desktop_native/autofill_provider/src/lib.rs241#[cfg_attr(feature = "napi", napi(object, namespace = "autofill"))]COMMENT
LOW…ps/desktop/desktop_native/autofill_provider/src/lib.rs601 let (tx, rx) = mpsc::channel();COMMENT
88 more matches not shown…
Structural Annotation Overuse40 hits · 68 pts
SeverityFileLineSnippetContext
LOW…/src/dirt/organization-integrations/services/README.md5## Step 1: Define the Configuration ClassCOMMENT
LOW…/src/dirt/organization-integrations/services/README.md42## Step 2: Define the Template ClassCOMMENT
LOW…/src/dirt/organization-integrations/services/README.md78## Step 3: Update OrganizationIntegrationTypeCOMMENT
LOW…/src/dirt/organization-integrations/services/README.md89## Step 4: Extend OrgIntegrationBuilderCOMMENT
LOW…/src/dirt/organization-integrations/services/README.md162## Step 5: Add Service Name to OrganizationIntegrationServiceNameCOMMENT
LOW…/src/dirt/organization-integrations/services/README.md178## Step 6: File OrganizationCOMMENT
LOW…/src/dirt/organization-integrations/services/README.md220## Step 7: Add TestsCOMMENT
LOW.claude/skills/fix-angular-fixmes/SKILL.md16## Step 1: Discover all suppressionsCOMMENT
LOW.claude/skills/fix-angular-fixmes/SKILL.md299## Step 2: Cleanup checklist per fixed instanceCOMMENT
LOW.claude/skills/fix-angular-fixmes/SKILL.md307## Step 3: ValidateCOMMENT
LOW.claude/skills/create-hec-event-integration/SKILL.md8## Step 1 - PromptsCOMMENT
LOW…lls/create-hec-event-integration/example/token-auth.md7## Step 1 - PromptsCOMMENT
LOW.claude/skills/angular-modernization/SKILL.md16### Step 1: Run Angular CLI MigrationsCOMMENT
LOW.claude/skills/angular-modernization/SKILL.md92### Step 2: Apply Bitwarden PatternsCOMMENT
LOW.claude/skills/angular-modernization/SKILL.md104### Step 3: ValidateCOMMENT
LOW.claude/skills/cipher-type-planner/SKILL.md12### Step 1: Gather RequirementsCOMMENT
LOW.claude/skills/cipher-type-planner/SKILL.md44### Step 2: Enter Plan ModeCOMMENT
LOW.claude/skills/cipher-type-planner/SKILL.md62### Step 3: Build the PlanCOMMENT
LOW⚡…c/lock/services/default-webauthn-prf-unlock.service.ts102 // Step 1: Decrypt PRF encrypted private key using the PRF keyCOMMENT
LOW⚡…c/lock/services/default-webauthn-prf-unlock.service.ts108 // Step 2: Use private key to decrypt user keyCOMMENT
LOW…ar/src/vault/services/custom-nudges-services/README.md58### Step 1: Determine if Universal or Client-SpecificCOMMENT
LOW…ar/src/vault/services/custom-nudges-services/README.md71### Step 2: Create the ServiceCOMMENT
LOW…ar/src/vault/services/custom-nudges-services/README.md152### Step 3: Add NudgeTypeCOMMENT
LOW…ar/src/vault/services/custom-nudges-services/README.md163### Step 4: Register in NudgesServiceCOMMENT
LOWscripts/material-icons/build-with-bwi-names.ts21 // Step 1: Handle variants (copy files for one-to-many mappings)COMMENT
LOW⚡scripts/material-icons/build-with-bwi-names.ts37 // Step 2: Generate icon font directly from Figma-named SVGsCOMMENT
LOW⚡scripts/material-icons/build-with-bwi-names.ts45 // Step 3: Update SCSSCOMMENT
LOW⚡scripts/material-icons/build-with-bwi-names.ts105 // Step 4: Compile SCSS to CSSCOMMENT
LOW⚡scripts/material-icons/build-with-bwi-names.ts110 // Step 5: Update TypeScript icon arrayCOMMENT
LOWscripts/material-icons/build-with-bwi-names.ts141 // Step 6: Cleanup temporary filesCOMMENT
LOWscripts/material-icons/build-with-bwi-names.ts155 // Step 7: Remove variant copiesCOMMENT
LOW…src/app/admin-console/organizations/policies/README.md15## Step 1: Adding the EnumCOMMENT
LOW…src/app/admin-console/organizations/policies/README.md30## Step 2: Creating the Policy Definition and ComponentCOMMENT
LOW…src/app/admin-console/organizations/policies/README.md209## Step 3: Registering the PolicyCOMMENT
LOW⚡…background/permissions-policy/frame-policy-resolver.ts64 // Step 1: The frame's own declared policy must allow the requesting origin.COMMENT
LOW⚡…background/permissions-policy/frame-policy-resolver.ts71 // Step 2: Top-level frame — no container, no further inheritance.COMMENT
LOW⚡…background/permissions-policy/frame-policy-resolver.ts76 // Step 3: The iframe element's `allow=` attribute (container policy) mustCOMMENT
LOW⚡…background/permissions-policy/frame-policy-resolver.ts85 // Step 4: Recurse to the parent's effective policy — but still evaluatingCOMMENT
LOW…/src/autofill/services/targeting-rules-data.service.ts249 // Step 1: Fetch the lightweight manifest to check if the data has changedCOMMENT
LOW…/src/autofill/services/targeting-rules-data.service.ts292 // Step 2: Data has changed (or first fetch); download the map fileCOMMENT
Decorative Section Separators11 hits · 39 pts
SeverityFileLineSnippetContext
MEDIUM…se/bit-common/src/dirt/docs/documentation-structure.md80# ============================================================================COMMENT
MEDIUM…se/bit-common/src/dirt/docs/documentation-structure.md83# ============================================================================COMMENT
MEDIUM…se/bit-common/src/dirt/docs/documentation-structure.md127# ============================================================================COMMENT
MEDIUM…se/bit-common/src/dirt/docs/documentation-structure.md130# ============================================================================COMMENT
MEDIUM…nents/src/form-control/form-control-group.component.ts66 // ── Template helpers ─────────────────────────────────────────────────────COMMENT
MEDIUM⚡…nents/src/form-control/form-control-group.component.ts79 // ── Mode (auto-detected from child types) ─────────────────────────────────COMMENT
MEDIUM⚡…nents/src/form-control/form-control-group.component.ts89 // ── Accessor needed by RadioButtonBaseDirective ───────────────────────────COMMENT
MEDIUM⚡…nents/src/form-control/form-control-group.component.ts94 // ── State ─────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡…nents/src/form-control/form-control-group.component.ts100 // ── Computed validation state ─────────────────────────────────────────────COMMENT
MEDIUM…nents/src/form-control/form-control-group.component.ts128 // ── Child coordination ────────────────────────────────────────────────────COMMENT
MEDIUM…nents/src/form-control/form-control-group.component.ts171 // ── ControlValueAccessor ──────────────────────────────────────────────────COMMENT
Verbosity Indicators15 hits · 30 pts
SeverityFileLineSnippetContext
LOW⚡…c/lock/services/default-webauthn-prf-unlock.service.ts102 // Step 1: Decrypt PRF encrypted private key using the PRF keyCOMMENT
LOW⚡…c/lock/services/default-webauthn-prf-unlock.service.ts108 // Step 2: Use private key to decrypt user keyCOMMENT
LOWscripts/material-icons/build-with-bwi-names.ts21 // Step 1: Handle variants (copy files for one-to-many mappings)COMMENT
LOW⚡scripts/material-icons/build-with-bwi-names.ts37 // Step 2: Generate icon font directly from Figma-named SVGsCOMMENT
LOW⚡scripts/material-icons/build-with-bwi-names.ts45 // Step 3: Update SCSSCOMMENT
LOW⚡scripts/material-icons/build-with-bwi-names.ts105 // Step 4: Compile SCSS to CSSCOMMENT
LOW⚡scripts/material-icons/build-with-bwi-names.ts110 // Step 5: Update TypeScript icon arrayCOMMENT
LOWscripts/material-icons/build-with-bwi-names.ts141 // Step 6: Cleanup temporary filesCOMMENT
LOWscripts/material-icons/build-with-bwi-names.ts155 // Step 7: Remove variant copiesCOMMENT
LOW⚡…background/permissions-policy/frame-policy-resolver.ts64 // Step 1: The frame's own declared policy must allow the requesting origin.COMMENT
LOW⚡…background/permissions-policy/frame-policy-resolver.ts71 // Step 2: Top-level frame — no container, no further inheritance.COMMENT
LOW⚡…background/permissions-policy/frame-policy-resolver.ts76 // Step 3: The iframe element's `allow=` attribute (container policy) mustCOMMENT
LOW⚡…background/permissions-policy/frame-policy-resolver.ts85 // Step 4: Recurse to the parent's effective policy — but still evaluatingCOMMENT
LOW…/src/autofill/services/targeting-rules-data.service.ts249 // Step 1: Fetch the lightweight manifest to check if the data has changedCOMMENT
LOW…/src/autofill/services/targeting-rules-data.service.ts292 // Step 2: Data has changed (or first fetch); download the map fileCOMMENT
Slop Phrases47 hits · 30 pts
SeverityFileLineSnippetContext
LOWapps/web/src/locales/sl/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/km/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/nn/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/be/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/mr/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/ky/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/el/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/lb/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/ca/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/te/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/ro/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/en_IN/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/sr_CS/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/en_GB/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/si/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/ml/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/kn/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/bs/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/my/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/ar/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/gl/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/bn/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/ne/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/fil/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/af/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/nb/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/hi/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/ka/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/ko/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/eo/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/id/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/et/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/en/messages.json11149 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/or/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/cy/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/eu/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/web/src/locales/th/messages.json10983 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOW…bitwarden_chromium_import_helper/src/windows/crypto.rs259 // Don't forget to free the providerCOMMENT
LOW…bitwarden_chromium_import_helper/src/windows/crypto.rs276 // Don't forget to free the keyCOMMENT
LOWapps/desktop/src/locales/lb/messages.json5658 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/desktop/src/locales/en_IN/messages.json5658 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/desktop/src/locales/en_GB/messages.json5658 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/desktop/src/locales/en/messages.json5841 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/browser/src/_locales/lb/messages.json3124 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/browser/src/_locales/en_IN/messages.json3124 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/browser/src/_locales/en_GB/messages.json3124 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
LOWapps/browser/src/_locales/en/messages.json3144 "message": "Secure password generated! Don't forget to also update your password on the website."CODE
Cross-Language Confusion (JS/TS)4 hits · 28 pts
SeverityFileLineSnippetContext
HIGH…ent-ui/src/key-rotation/key-rotation-dialog.service.ts31 * @return True if the key rotation was successful and the dialog should be closed, false if the dialog should remain COMMENT
HIGH…ent-ui/src/key-rotation/key-rotation-dialog.service.ts71 * @return True if the key rotation was successful and the dialog should be closed, false if the dialog should remain COMMENT
HIGH…ent-ui/src/key-rotation/key-rotation-dialog.service.ts110 * @return True if the key rotation was successful and the dialog should be closed, false if the dialog should remain COMMENT
HIGH…h/settings/two-factor/two-factor-recovery.component.ts43 print() {CODE
AI Slop Vocabulary6 hits · 17 pts
SeverityFileLineSnippetContext
MEDIUM…e/src/policies/password-generator-options-evaluator.ts25 // This design is not ideal, but it is a step towards a more robust passwordCOMMENT
MEDIUM…src/policies/passphrase-generator-options-evaluator.ts16 // This design is not ideal, but it is a step towards a more robust passphraseCOMMENT
MEDIUM…op/desktop_native/core/src/clipboard/portal_backend.rs5//! portal instead. Essentially, Bitwarden starts a RemoteDesktop session and getsCOMMENT
MEDIUMapps/desktop/desktop_native/ssh_agent/src/server/mod.rs170// within `server` utilize.COMMENT
MEDIUMapps/desktop/src/app/services/services.module.ts533 provide: Fido2UserInterfaceServiceAbstraction, // We utilize desktop specific methods when wiring OS API'sCODE
MEDIUM…ps/desktop/src/autofill/main/main-ssh-agent.service.ts75 // @pre: The agent must not be running. The caller may utilize `is_running()` and `stop()`.COMMENT
Redundant / Tautological Comments6 hits · 9 pts
SeverityFileLineSnippetContext
LOW.github/workflows/repository-management.yml120 # Check if version is newer.COMMENT
LOW.github/workflows/repository-management.yml206 # Check if version is newer.COMMENT
LOW.github/workflows/repository-management.yml257 # Check if version is newer.COMMENT
LOW.github/workflows/repository-management.yml322 # Check if version is newer.COMMENT
LOWapps/browser/scripts/compress.sh17# Check if build directory existsCOMMENT
LOWapps/browser/scripts/update-manifest-dev.sh15# Check if build directory existsCOMMENT
TODO Padding2 hits · 3 pts
SeverityFileLineSnippetContext
LOW…orter/src/importers/lastpass/access/services/client.ts409 // TODO: implement this instead of calling `approveDuo`COMMENT
LOW…on/src/platform/services/fido2/fido2-autofill-utils.ts1// TODO: Add tests for this methodCOMMENT