Firebase SDK for Apple App Development
This report presents the forensic synthetic code analysis of firebase/firebase-ios-sdk, a C++ project with 6,628 GitHub stars. SynthScan v2.0 examined 658,441 lines of code across 3551 source files, recording 3008 pattern matches distributed across 16 syntactic categories. The overall adjusted score of 4.6 places this repository in the Likely human-written band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 3008 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | CMakeLists.txt | 1 | # Copyright 2017 Google LLC | COMMENT |
| LOW | Package.swift | 1 | // swift-tools-version:6.1 | COMMENT |
| LOW | SymbolCollisionTest/SymbolCollisionTest/AppDelegate.h | 1 | // Copyright 2018 Google | COMMENT |
| LOW | …mbolCollisionTest/SymbolCollisionTest/ViewController.m | 1 | // Copyright 2018 Google | COMMENT |
| LOW | SymbolCollisionTest/SymbolCollisionTest/main.m | 1 | // Copyright 2018 Google | COMMENT |
| LOW | SymbolCollisionTest/SymbolCollisionTest/AppDelegate.m | 1 | // Copyright 2018 Google | COMMENT |
| LOW | …mbolCollisionTest/SymbolCollisionTest/ViewController.h | 1 | // Copyright 2018 Google | COMMENT |
| LOW | …seSharedSwift/Tests/third_party/DataEncoderTests.swift | 161 | // let first: String | COMMENT |
| LOW | …seSharedSwift/Tests/third_party/DataEncoderTests.swift | 181 | // | COMMENT |
| LOW | …dSwift/Sources/FirebaseRemoteConfigValueDecoding.swift | 1 | // Copyright 2021 Google LLC | COMMENT |
| LOW | …rd_party/FirebaseDataEncoder/FirebaseDataEncoder.swift | 1 | // This file is derived from swift/stdlib/public/Darwin/Foundation/JSONEncoder.swift | COMMENT |
| LOW | …rd_party/FirebaseDataEncoder/FirebaseDataEncoder.swift | 61 | } | COMMENT |
| LOW | …rd_party/FirebaseDataEncoder/FirebaseDataEncoder.swift | 101 | // JSON Encoder | COMMENT |
| LOW | …rd_party/FirebaseDataEncoder/FirebaseDataEncoder.swift | 161 | COMMENT | |
| LOW | …rd_party/FirebaseDataEncoder/FirebaseDataEncoder.swift | 321 | COMMENT | |
| LOW | …rd_party/FirebaseDataEncoder/FirebaseDataEncoder.swift | 1121 | /// 1. Capitalizes the word starting after each `_` | COMMENT |
| LOW | …eTooling/Sources/PodspecsTester/InitializeSource.swift | 61 | case .success: | COMMENT |
| LOW | …eTooling/Sources/PodspecsTester/InitializeSource.swift | 81 | Shell.executeCommand("git tag -af \(testingTag) -m 'spectesting'", workingDir: sdkRepoPath) | COMMENT |
| LOW | …leaseTooling/Sources/ZipBuilder/ResourcesManager.swift | 41 | for resource in existingResources { | COMMENT |
| LOW | …leaseTooling/Sources/ZipBuilder/ResourcesManager.swift | 101 | // Find the right framework for these bundles to be embedded in - the folder structure is | COMMENT |
| LOW | ReleaseTooling/Sources/ZipBuilder/CarthageUtils.swift | 21 | struct CarthageBuildOptions { | COMMENT |
| LOW | ReleaseTooling/Sources/ZipBuilder/CarthageUtils.swift | 161 | // encoder with the `.withoutEscapingSlashes` option on `outputFormatting` like this: | COMMENT |
| LOW | ReleaseTooling/Sources/ZipBuilder/ZipBuilder.swift | 81 | COMMENT | |
| LOW | ReleaseTooling/Sources/ZipBuilder/ZipBuilder.swift | 421 | /// is misconfigured. | COMMENT |
| LOW | ReleaseTooling/Sources/ZipBuilder/ZipBuilder.swift | 621 | return zipDir | COMMENT |
| LOW | ReleaseTooling/Sources/ZipBuilder/ZipBuilder.swift | 901 | // TODO: packageAllResources is disabled for binary frameworks since it's not needed for Firebase | COMMENT |
| LOW | ReleaseTooling/Sources/ZipBuilder/CocoaPodUtils.swift | 161 | // Get the pods in the format of [PodInfo]. | COMMENT |
| LOW | ReleaseTooling/Sources/ZipBuilder/CocoaPodUtils.swift | 421 | // Get the components of the line to parse them individually. Ignore any whitespace only | COMMENT |
| LOW | …pDistributionInternal/Tests/Unit/ApiServiceTests.swift | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …ernal/Tests/Unit/FakeUtils/URLSessionPartialMock.swift | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …nInternal/Tests/Unit/FakeUtils/FakeInstallations.swift | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …rebaseAppDistributionInternal/Sources/ApiService.swift | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …tributionInternal/Sources/FeedbackViewController.swift | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …aseAppDistributionInternal/Sources/InAppFeedback.swift | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …eAppDistributionInternal/Sources/Internal/Logger.swift | 1 | // | COMMENT |
| LOW | …nInternal/Sources/Internal/InstallationsProtocol.swift | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | FirebaseFirestoreInternal/dummy.m | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …toreInternal/FirebaseFirestore/FIRLocalCacheSettings.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …storeInternal/FirebaseFirestore/FIRDocumentReference.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | FirebaseFirestoreInternal/FirebaseFirestore/FIRFilter.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …estoreInternal/FirebaseFirestore/FIRSnapshotMetadata.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …Internal/FirebaseFirestore/FIRAggregateQuerySnapshot.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | FirebaseFirestoreInternal/FirebaseFirestore/FIRQuery.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …nal/FirebaseFirestore/FIRPersistentCacheIndexManager.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …ebaseFirestoreInternal/FirebaseFirestore/FIRGeoPoint.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …storeInternal/FirebaseFirestore/FIRFirestoreSettings.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …irestoreInternal/FirebaseFirestore/FIRAggregateQuery.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …eInternal/FirebaseFirestore/FIRSnapshotListenOptions.h | 1 | // Copyright 2024 Google LLC | COMMENT |
| LOW | …irestoreInternal/FirebaseFirestore/FIRAggregateField.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …baseFirestoreInternal/FirebaseFirestore/FIRFieldPath.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …aseFirestoreInternal/FirebaseFirestore/FIRFieldValue.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …FirestoreInternal/FirebaseFirestore/FIRQuerySnapshot.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …reInternal/FirebaseFirestore/FIRListenerRegistration.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …irestoreInternal/FirebaseFirestore/FIRDocumentChange.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …aseFirestoreInternal/FirebaseFirestore/FIRWriteBatch.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …restoreInternal/FirebaseFirestore/FIRAggregateSource.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …irestoreInternal/FirebaseFirestore/FirebaseFirestore.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …restoreInternal/FirebaseFirestore/FIRFirestoreErrors.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …restoreInternal/FirebaseFirestore/FIRFirestoreSource.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| LOW | …estoreInternal/FirebaseFirestore/FIRDocumentSnapshot.h | 1 | // Copyright 2023 Google LLC | COMMENT |
| 2721 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ng/Sources/ManifestParser/GHAMatrixSpecCollector.swift | 64 | print("Error while enumerating files: \(error.localizedDescription)") | CODE |
| MEDIUM | …oader/Apps/Sample/MLDownloaderTestApp/Downloader.swift | 68 | print("Error - could not get file size.") | CODE |
| MEDIUM | Firestore/Swift/Source/SwiftAPI/Pipeline/Pipeline.swift | 47 | /// print("Error in example 1: \(error)") | COMMENT |
| MEDIUM | Firestore/Swift/Source/SwiftAPI/Pipeline/Pipeline.swift | 60 | /// print("Error in example 2: \(error)") | COMMENT |
| MEDIUM | Firestore/Swift/Source/SwiftAPI/Pipeline/Pipeline.swift | 71 | /// print("Error in example 3: \(error)") | COMMENT |
| MEDIUM | …seAuth/Tests/SampleSwift/SwiftApiTests/TestsBase.swift | 52 | print("Error signing out: \(error)") | CODE |
| MEDIUM⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 280 | print("Error: Player not authenticated with Game Center.") | CODE |
| MEDIUM⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 287 | print("Error getting Game Center credential: \(error.localizedDescription)") | CODE |
| MEDIUM⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 292 | print("Error: Missing Game Center credential") | CODE |
| MEDIUM⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 299 | print("Error linking Game Center to Firebase: \(error.localizedDescription)") | CODE |
| MEDIUM⚡ | …cationExample/ViewControllers/AuthViewController.swift | 314 | print("Error logging into Game Center: \(error.localizedDescription)") | CODE |
| MEDIUM⚡ | …cationExample/ViewControllers/AuthViewController.swift | 330 | print("Error getting Game Center credential: \(error.localizedDescription)") | CODE |
| MEDIUM⚡ | …cationExample/ViewControllers/AuthViewController.swift | 335 | print("Error signing into Firebase with Game Center: \(error.localizedDescription)") | CODE |
| MEDIUM | …cationExample/ViewControllers/AuthViewController.swift | 415 | print("Error: No user logged in") | CODE |
| MEDIUM | …cationExample/ViewControllers/AuthViewController.swift | 421 | print("Error: Error refreshing token") | CODE |
| MEDIUM | …cationExample/ViewControllers/AuthViewController.swift | 433 | print("Error: Unable to access claims.") | CODE |
| MEDIUM | …cationExample/ViewControllers/AuthViewController.swift | 614 | print("Error: Action code continue URL is nil.") | CODE |
| MEDIUM | …cationExample/ViewControllers/AuthViewController.swift | 643 | print("Error: Action code continue URL is nil.") | CODE |
| MEDIUM | …cationExample/ViewControllers/AuthViewController.swift | 764 | print("Error: User must be logged in first.") | CODE |
| MEDIUM | …cationExample/ViewControllers/AuthViewController.swift | 863 | print("Error: No current user") | CODE |
| MEDIUM | …cationExample/ViewControllers/AuthViewController.swift | 895 | print("Error: No current user") | CODE |
| MEDIUM | …e/tvOSSample/tvOSSample/EmailLoginViewController.swift | 40 | print("Error signing in: \(error!)") | CODE |
| MEDIUM | …e/tvOSSample/tvOSSample/EmailLoginViewController.swift | 55 | print("Error signing up: \(error!)") | CODE |
| MEDIUM | …ple/tvOSSample/tvOSSample/DatabaseViewController.swift | 70 | print("Error grabbing value from Snapshot!") | CODE |
| MEDIUM | FirebaseRemoteConfig/Swift/RemoteConfig+Async.swift | 44 | /// print("Error listening for remote config updates: \(error)") | COMMENT |
| LOW | …imulator-test-recording/scripts/run_test_and_record.sh | 59 | except Exception: | CODE |
| LOW | scripts/xcresult_logs.py | 75 | except Exception as e: | CODE |
| MEDIUM | …ts/create_spec_repo/Sources/SpecRepoBuilder/main.swift | 318 | print("Error: cannot find \(sdk_repo_path).") | CODE |
| MEDIUM | …ts/create_spec_repo/Sources/SpecRepoBuilder/main.swift | 332 | print("Error: cannot determine if \(dir.path) is a directory or not.") | CODE |
| MEDIUM | …ts/create_spec_repo/Sources/SpecRepoBuilder/main.swift | 348 | print("Error while enumerating files \(repoPath): \(error.localizedDescription)") | CODE |
| MEDIUM | …ts/create_spec_repo/Sources/SpecRepoBuilder/main.swift | 353 | print("Error occurred while removing \(repoPath)/\(sdkRepoName): \(error)") | CODE |
| LOW | .github/workflows/_build.yml | 120 | except Exception as error: | CODE |
| MEDIUM | .github/workflows/_build.yml | 121 | print(f"Error setting env vars: {error}") | CODE |
| LOW | .github/workflows/_spm.yml | 99 | except Exception as error: | CODE |
| MEDIUM | .github/workflows/_spm.yml | 100 | print(f"Error setting env vars: {error}") | CODE |
| LOW | .github/workflows/_spm.yml | 155 | except Exception as error: | CODE |
| MEDIUM | .github/workflows/_spm.yml | 156 | print(f"Error setting env vars: {error}") | CODE |
| MEDIUM | FirebaseStorage/Tests/Unit/StorageTestHelpers.swift | 55 | print("Error \(error)") | CODE |
| MEDIUM | FirebaseAI/Wrapper/Tests/APITests.swift | 99 | print("Error generating content: \(error)") | CODE |
| MEDIUM | FirebaseAI/Tests/Unit/APITests.swift | 102 | print("Error generating content: \(error)") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | cmake/external/leveldb_patch.py | 61 | # Create a stamp file so the patch isn't applied twice. | COMMENT |
| MEDIUM | Firestore/Protos/build_protos.py | 133 | # Create a temporary file to which to write the tweaked script. | STRING |
| MEDIUM | …zingResources/Serializer/Corpus/ConvertTextToBinary.sh | 39 | # Create a folder to write binary protos to. This is our corpus. | COMMENT |
| MEDIUM | …imulator-test-recording/scripts/run_test_and_record.sh | 92 | # Create a dedicated build command | COMMENT |
| MEDIUM | scripts/configure_test_keychain.sh | 36 | # Create a test keychain. | COMMENT |
| MEDIUM⚡ | scripts/add_copyright.sh | 36 | # Define the base branch (defaulting to main). | COMMENT |
| MEDIUM | scripts/xcresult_logs.py | 62 | # Create a symbolic link to the xcresult bundle in a deterministic directory | COMMENT |
| MEDIUM | scripts/update_firebase_spm_dependency.sh | 60 | # Define the replacement regex based on the selected mode. | COMMENT |
| MEDIUM | scripts/cpplint.py | 1396 | # Create a testcase for each file | COMMENT |
| MEDIUM | scripts/cpplint.py | 6005 | # The following function is just a speed up, no semantics are changed. | STRING |
| MEDIUM | scripts/check_firestore_symbols.sh | 77 | # Create a temporary directory for the test package. The test package defines an | COMMENT |
| MEDIUM | scripts/check_firestore_symbols.sh | 88 | # Create the package's subdirectories. | COMMENT |
| MEDIUM | .github/workflows/_build.yml | 157 | # This file is used as a template for other workflows, so | COMMENT |
| MEDIUM | .github/actions/testing_report_generation/app.rb | 148 | # Create a new issue if there exists failed workflows. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cmake/external/leveldb_patch.py | 94 | CODE | |
| LOW | Firestore/Protos/build_protos.py | 340 | CODE | |
| LOW | Firestore/Protos/build_protos.py | 410 | CODE | |
| LOW | scripts/xcresult_logs.py | 188 | CODE | |
| LOW | scripts/check_test_inclusion.py | 48 | CODE | |
| LOW | scripts/check_test_inclusion.py | 71 | CODE | |
| LOW | scripts/make_release_notes.py | 248 | CODE | |
| LOW | scripts/cpplint.py | 946 | CODE | |
| LOW | scripts/cpplint.py | 1652 | CODE | |
| LOW | scripts/cpplint.py | 1680 | CODE | |
| LOW | scripts/cpplint.py | 1762 | CODE | |
| LOW | scripts/cpplint.py | 1993 | CODE | |
| LOW | scripts/cpplint.py | 2115 | CODE | |
| LOW | scripts/cpplint.py | 2462 | CODE | |
| LOW | scripts/cpplint.py | 3267 | CODE | |
| LOW | scripts/cpplint.py | 3538 | CODE | |
| LOW | scripts/cpplint.py | 3609 | CODE | |
| LOW | scripts/cpplint.py | 3663 | CODE | |
| LOW | scripts/cpplint.py | 3791 | CODE | |
| LOW | scripts/cpplint.py | 4149 | CODE | |
| LOW | scripts/cpplint.py | 4227 | CODE | |
| LOW | scripts/cpplint.py | 4493 | CODE | |
| LOW | scripts/cpplint.py | 4620 | CODE | |
| LOW | scripts/cpplint.py | 4770 | CODE | |
| LOW | scripts/cpplint.py | 5169 | CODE | |
| LOW | scripts/cpplint.py | 5588 | CODE | |
| LOW | scripts/cpplint.py | 5922 | CODE | |
| LOW | scripts/cpplint.py | 5950 | CODE | |
| LOW | scripts/cpplint.py | 6363 | CODE | |
| LOW | scripts/cpplint.py | 6576 | CODE | |
| LOW | scripts/cpplint.py | 6678 | CODE | |
| LOW | scripts/cpplint.py | 1182 | CODE | |
| LOW | scripts/cpplint.py | 1366 | CODE | |
| LOW | scripts/cpplint.py | 1561 | CODE | |
| LOW | scripts/cpplint.py | 1926 | CODE | |
| LOW | scripts/cpplint.py | 3012 | CODE | |
| LOW | scripts/cpplint.py | 3069 | CODE | |
| LOW | scripts/api_diff_report/api_diff_report.py | 67 | CODE | |
| LOW | scripts/api_diff_report/api_diff_report.py | 145 | CODE | |
| LOW | scripts/api_diff_report/api_diff_report.py | 170 | CODE | |
| LOW | scripts/api_diff_report/api_diff_report.py | 202 | CODE | |
| LOW | scripts/api_diff_report/pr_commenter.py | 40 | CODE | |
| LOW | scripts/nanopb/proto_generator.py | 220 | CODE | |
| LOW | scripts/nanopb/proto_generator.py | 320 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Crashlytics/ProtoSupport/generate_crashlytics_protos.sh | 18 | # Example usage: | COMMENT |
| LOW | …restore/Swift/Source/SwiftAPI/Firestore+Pipeline.swift | 31 | /// Example usage: | COMMENT |
| LOW | Firestore/Swift/Source/SwiftAPI/Pipeline/Pipeline.swift | 618 | /// Example usage: | COMMENT |
| LOW | Firestore/Swift/Source/SwiftAPI/Pipeline/Pipeline.swift | 685 | /// Example usage: | COMMENT |
| LOW | …ift/Source/SwiftAPI/Pipeline/Aggregates/CountAll.swift | 21 | /// Example usage: | COMMENT |
| LOW | …/Source/SwiftAPI/Pipeline/Expressions/Expression.swift | 2601 | /// Example usage: | COMMENT |
| LOW | …/Source/SwiftAPI/Pipeline/Expressions/Expression.swift | 2625 | /// Example usage: | COMMENT |
| LOW | …/Source/SwiftAPI/Pipeline/Expressions/Expression.swift | 2646 | /// Example usage: | COMMENT |
| LOW | …Swift/Source/SwiftAPI/Pipeline/Expressions/Field.swift | 71 | /// Example usage: | COMMENT |
| LOW | …Swift/Source/SwiftAPI/Pipeline/Expressions/Field.swift | 93 | /// Example usage: | COMMENT |
| LOW | …I/Pipeline/Expressions/FunctionExpressions/Score.swift | 26 | /// Example usage: | COMMENT |
| LOW | …rebaseAuth/Tests/SampleSwift/generate_refresh_token.sh | 23 | # Usage: | COMMENT |
| LOW | …eInAppMessaging/ProtoSupport/generate_nanopb_protos.sh | 18 | # Example usage: | COMMENT |
| LOW | scripts/rotate_secrets.sh | 19 | # Usage: | COMMENT |
| LOW | scripts/style.sh | 17 | # Usage: | COMMENT |
| LOW | scripts/nanopb/generate_protos.sh | 18 | # Example usage: | COMMENT |
| LOW | FirebaseMessaging/ProtoSupport/generate_protos.sh | 18 | # Example usage: | COMMENT |
| LOW | FirebaseAI/Sources/GenerativeModelSession.swift | 31 | /// Example usage: | COMMENT |
| LOW | FirebasePerformance/ProtoSupport/generate_protos.sh | 18 | # Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …lytics/Crashlytics/Rollouts/StringToHexConverter.swift | 17 | // This is a swift rewrite for the logic in FIRCLSFile for the function FIRCLSFileHexEncodeString() | COMMENT |
| LOW | cmake/external/leveldb_patch_test.py | 27 | def test_snappy_detect_line_is_commented_and_replaced(self): | CODE |
| LOW | cmake/external/leveldb_patch_test.py | 47 | def test_snappy_detect_line_has_indent_and_eol_preserved(self): | CODE |
| LOW | cmake/external/leveldb_patch_test.py | 67 | def test_snappy_detect_line_does_not_affect_surrounding_lines(self): | CODE |
| LOW | cmake/external/leveldb_patch_test.py | 95 | def test_snappy_include_is_amended(self): | CODE |
| LOW | cmake/external/leveldb_patch_test.py | 125 | def test_snappy_include_lines_adopt_indenting_and_eol_convention(self): | CODE |
| LOW | cmake/external/leveldb_patch_test.py | 155 | def test_snappy_include_line_does_not_affect_surrounding_lines(self): | CODE |
| LOW | cmake/external/leveldb_patch_test.py | 193 | def test_leveldb_snappy_link_line_is_commented_and_replaced(self): | CODE |
| LOW | cmake/external/leveldb_patch_test.py | 213 | def test_leveldb_snappy_link_line_has_indent_and_eol_preserved(self): | CODE |
| LOW | cmake/external/leveldb_patch_test.py | 233 | def test_leveldb_snappy_link_line_does_not_affect_surrounding_lines(self): | CODE |
| LOW | cmake/external/leveldb_patch_test.py | 261 | def test_all_patches_combined(self): | CODE |
| LOW | cmake/external/leveldb_patch.py | 122 | def _on_leveldb_include_start(self) -> Iterable[str]: | CODE |
| LOW | cmake/external/leveldb_patch.py | 136 | def _on_leveldb_snappy_link_line(self, line: LineComponents) -> Iterable[str]: | CODE |
| LOW | Firestore/Protos/build_protos.py | 228 | def __stub_non_buildable_files(self, out_dir): | STRING |
| LOW | Firestore/Protos/build_protos.py | 382 | def strip_trailing_whitespace(lines): | STRING |
| LOW | Firestore/Protos/build_protos.py | 394 | def objc_strip_extension_registry(lines): | STRING |
| LOW | Firestore/Protos/lib/pretty_printing.py | 255 | def _get_printer_function_name(self): | CODE |
| LOW | scripts/xcresult_logs.py | 123 | def project_from_workspace_path(path): | CODE |
| LOW | scripts/xcresult_logs.py | 188 | def find_newest_matching_prefix(path, prefix): | CODE |
| LOW | scripts/create_pull_request.rb | 54 | def generate_pr_for_target_changes(repo_root:, target_path:) | CODE |
| LOW | scripts/export_release_notes.py | 107 | def product_relative_locations(): | CODE |
| LOW | scripts/sync_project.rb | 434 | def find_project_files_after_removal(files, to_remove) | CODE |
| LOW | scripts/api_diff_report/icore_module.py | 140 | def module_info_from_podspecs(root_dir=os.getcwd()): | CODE |
| LOW | scripts/nanopb/proto_generator.py | 272 | def nanopb_use_absolute_import(lines, filename): | STRING |
| LOW | scripts/nanopb/proto_generator.py | 293 | def strip_trailing_whitespace(lines): | STRING |
| LOW | scripts/nanopb/proto_generator.py | 305 | def objc_strip_extension_registry(lines): | STRING |
| LOW | .github/actions/testing_report_generation/app.rb | 62 | def add_workflow_run_and_result(workflow, result) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | Firestore/Example/Tests/Util/FSTIntegrationTestCase.mm | 311 | // which testing environment we're using. Essentially `setUpDefaults` determines | COMMENT |
| MEDIUM | Firestore/Example/Tests/API/FSTUserDataReaderTests.mm | 118 | // See comments in FSTUserDataReader regarding handling of signed char. Essentially, signed | COMMENT |
| MEDIUM | Firestore/third_party/re2/re2/prefilter_tree.h | 114 | // These are all the nodes formed by Compile. Essentially, there is | COMMENT |
| MEDIUM | …restore/Swift/Source/SwiftAPI/Firestore+Pipeline.swift | 46 | /// - They do not utilize or update the local SDK cache. | COMMENT |
| MEDIUM | FirebaseDatabase/Sources/FViewProcessor.m | 674 | // Essentially we'll just get our existing server cache for the affected | COMMENT |
| LOW | scripts/cpplint.py | 3059 | # Here we can just use a shallow copy since we are the last | COMMENT |
| MEDIUM | FirebaseAI/Sources/Types/Public/ThinkingConfig.swift | 17 | /// Gemini 2.5 series models and newer utilize a thinking process before generating a response. This | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | scripts/add_copyright.sh | 27 | # Check if git is available. | COMMENT |
| LOW⚡ | scripts/add_copyright.sh | 39 | # Check if BASE_BRANCH exists. | COMMENT |
| LOW | scripts/add_copyright.sh | 91 | # Check if file already has copyright. | COMMENT |
| LOW | scripts/add_copyright.sh | 115 | # Check if first line starts with #! | COMMENT |
| LOW | scripts/check_secrets.sh | 18 | # Check if secrets are available for multiple CI's | COMMENT |
| LOW | scripts/cpplint.py | 2993 | # Check if token is an unmatched '<'. | COMMENT |
| LOW | scripts/cpplint.py | 3621 | # Check if the // may be in quotes. If so, ignore it | STRING |
| LOW | scripts/cpplint.py | 4576 | # Check if the body is empty | STRING |
| LOW | scripts/cpplint.py | 4867 | # Check if the line is a header guard. | STRING |
| LOW | scripts/cpplint.py | 5302 | # Check if people are using the verboten C basic types. The only exception | STRING |
| LOW | scripts/cpplint.py | 5314 | # Check if some verboten operator overloading is going on | STRING |
| LOW | scripts/cpplint.py | 5490 | # Check if some verboten C functions are being used. | STRING |
| LOW | scripts/cpplint.py | 6168 | # Set end_col to check whole lines after we are done with the | STRING |
| LOW | scripts/check_firestore_symbols.sh | 45 | # Check if the given repo path is valid. | COMMENT |
| LOW | scripts/check_firestore_symbols.sh | 58 | # Check if the given xcframework path is valid. | COMMENT |
| LOW | scripts/zip/zip_quickstart_test.sh | 45 | # Check if the scheme exists before attempting to build. | COMMENT |
| LOW | .github/actions/testing_report_generation/app.rb | 134 | # Check if there exists any cron jobs. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 278 | // Step 1: Ensure Game Center Authentication | COMMENT |
| LOW⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 284 | // Step 2: Get Game Center Credential for Linking | COMMENT |
| LOW⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 296 | // Step 3: Link Credential with Current Firebase User | COMMENT |
| LOW⚡ | …cationExample/ViewControllers/AuthViewController.swift | 310 | // Step 1: System Game Center Login | COMMENT |
| LOW⚡ | …cationExample/ViewControllers/AuthViewController.swift | 325 | // Step 2: Link to Firebase | COMMENT |
| LOW | FirebaseDatabase/Tests/Unit/FSyncPointTests.m | 190 | // Step 1: find location range in expected | COMMENT |
| LOW | FirebaseDatabase/Tests/Unit/FSyncPointTests.m | 203 | // Step 2: foreach in actual, asserting location | COMMENT |
| LOW | FirebaseDatabase/Tests/Unit/FSyncPointTests.m | 215 | // Step 3: slice each array | COMMENT |
| LOW | …baseDatabase/Sources/Core/View/Filter/FLimitedFilter.m | 151 | // We need to check if the `nextChild` is actually in range before | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | FirebaseAI/Sources/GenerativeModel.swift | 124 | /// [zero-shot](https://developers.google.com/machine-learning/glossary/generative#zero-shot-prompting) | STRING |
| MEDIUM | FirebaseAI/Sources/GenerativeModel.swift | 126 | /// [few-shot](https://developers.google.com/machine-learning/glossary/generative#few-shot-prompting) | STRING |
| MEDIUM | FirebaseAI/Sources/GenerativeModel.swift | 153 | /// [zero-shot](https://developers.google.com/machine-learning/glossary/generative#zero-shot-prompting) | STRING |
| MEDIUM | FirebaseAI/Sources/GenerativeModel.swift | 155 | /// [few-shot](https://developers.google.com/machine-learning/glossary/generative#few-shot-prompting) | STRING |
| MEDIUM | FirebaseAI/Sources/GenerativeModel.swift | 189 | /// [zero-shot](https://developers.google.com/machine-learning/glossary/generative#zero-shot-prompting) | STRING |
| MEDIUM | FirebaseAI/Sources/GenerativeModel.swift | 191 | /// [few-shot](https://developers.google.com/machine-learning/glossary/generative#few-shot-prompting) | STRING |
| MEDIUM | …ebaseAI/Sources/Types/Public/SystemLanguageModel.swift | 139 | /// [documentation](https://developer.apple.com/documentation/foundationmodels/systemlanguagemodel/guardrails). | STRING |
| MEDIUM | …ebaseAI/Sources/Types/Public/SystemLanguageModel.swift | 151 | /// [documentation](https://developer.apple.com/documentation/foundationmodels/systemlanguagemodel/guardrails/defa | STRING |
| MEDIUM | …ebaseAI/Sources/Types/Public/SystemLanguageModel.swift | 158 | /// [documentation](https://developer.apple.com/documentation/foundationmodels/systemlanguagemodel/guardrails/perm | STRING |
| MEDIUM | …ebaseAI/Sources/Types/Public/SystemLanguageModel.swift | 246 | /// [documentation](https://developer.apple.com/documentation/foundationmodels/systemlanguagemodel/init(usecase:guar | STRING |
| MEDIUM | …ebaseAI/Sources/Types/Public/SystemLanguageModel.swift | 250 | /// - guardrails: The ``Guardrails`` that configure how the model handles potentially harmful | STRING |
| MEDIUM | …I/Sources/Protocols/Public/LanguageModelProvider.swift | 57 | /// [documentation](https://developer.apple.com/documentation/foundationmodels/systemlanguagemodel/init(usecase:guar | COMMENT |
| MEDIUM | …I/Sources/Protocols/Public/LanguageModelProvider.swift | 62 | /// - guardrails: The ``FirebaseAI/SystemLanguageModel/Guardrails`` that configure how the | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 278 | // Step 1: Ensure Game Center Authentication | COMMENT |
| LOW⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 284 | // Step 2: Get Game Center Credential for Linking | COMMENT |
| LOW⚡ | …ple/ViewControllers/AccountLinkingViewController.swift | 296 | // Step 3: Link Credential with Current Firebase User | COMMENT |
| LOW⚡ | …cationExample/ViewControllers/AuthViewController.swift | 310 | // Step 1: System Game Center Login | COMMENT |
| LOW⚡ | …cationExample/ViewControllers/AuthViewController.swift | 325 | // Step 2: Link to Firebase | COMMENT |
| LOW | FirebaseDatabase/Tests/Unit/FSyncPointTests.m | 190 | // Step 1: find location range in expected | COMMENT |
| LOW | FirebaseDatabase/Tests/Unit/FSyncPointTests.m | 203 | // Step 2: foreach in actual, asserting location | COMMENT |
| LOW | FirebaseDatabase/Tests/Unit/FSyncPointTests.m | 215 | // Step 3: slice each array | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | Firestore/core/src/util/byte_stream_apple.mm | 46 | // Still not found, or the buffer happens to be of the sized as requested. | COMMENT |
| HIGH | …urces/Types/Public/Imagen/ImagenGenerationConfig.swift | 64 | /// they are AI generated; `false` disables watermarking. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ore/Internal/Tests/Unit/HeartbeatControllerTests.swift | 0 | { "version": 2, "heartbeats": [ { "agent": "dummy_agent", "dates": ["2021-11-01"] } ] } | STRING |
| HIGH | …seCore/Internal/Tests/Unit/HeartbeatsBundleTests.swift | 0 | { "version": 2, "heartbeats": [ { "agent": "dummy_agent", "dates": ["2021-11-01"] } ] } | STRING |
| HIGH | …sts/Integration/HeartbeatLoggingIntegrationTests.swift | 0 | { "version": 2, "heartbeats": [ { "agent": "dummy_agent", "dates": ["2021-11-01"] } ] } | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ReleaseTooling/Sources/ZipBuilder/main.swift | 326 | let tempDir = FileManager.default.temporaryDirectory(withName: "placeholder") | STRING |
| LOW | …restore/Swift/Tests/Integration/PipelineApiTests.swift | 219 | // "mother": "Jane Doe" | COMMENT |
| LOW | …restore/Swift/Tests/Integration/PipelineApiTests.swift | 230 | // "mother": "Jane Doe" | COMMENT |
| LOW | FirebaseAuth/Tests/Unit/UserTests.swift | 33 | let kPhoneNumber = "555-1234" | CODE |
| LOW | …ationExampleUITests/AuthenticationExampleUITests.swift | 98 | let testEmail = "test@test.com" | CODE |
| LOW | …ationExampleUITests/AuthenticationExampleUITests.swift | 129 | let testEmail = "test@test.com" | CODE |
| LOW | …ationExampleUITests/AuthenticationExampleUITests.swift | 160 | let testEmail = "test@test.com" | CODE |
| LOW | …ationExampleUITests/AuthenticationExampleUITests.swift | 257 | let testEmail = "test@test.com" | CODE |
| LOW | …ationExampleUITests/AuthenticationExampleUITests.swift | 299 | let testEmail = "test@test.com" | CODE |
| LOW | …ationExampleUITests/AuthenticationExampleUITests.swift | 323 | let testEmail = "test@test.com" | CODE |
| LOW | …seAI/Tests/TestApp/Tests/Integration/SchemaTests.swift | 223 | "The civic number and street name, for example, '123 Main Street'.") | CODE |
| LOW | …seAI/Tests/TestApp/Tests/Integration/SchemaTests.swift | 250 | "description": .string("The civic number and street name, for example, '123 Main Street'."), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | FirebaseDatabase/Sources/Core/FPersistentConnection.m | 1286 | // TODO: Add tests! | COMMENT |
| LOW⚡ | FirebaseRemoteConfig/Tests/Unit/RCNConfigContentTest.m | 201 | // TODO: Add test case once new eTag based logic is implemented. | COMMENT |
| LOW⚡ | FirebaseRemoteConfig/Tests/Unit/RCNConfigContentTest.m | 205 | // TODO: Add test case once new eTag based logic is implemented. | COMMENT |
| LOW⚡ | FirebaseRemoteConfig/Tests/Unit/RCNConfigContentTest.m | 209 | // TODO: Add test case once new eTag based logic is implemented. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Firestore/Protos/build_protos.py | 20 | CODE | |
| LOW | Firestore/Protos/nanopb_cpp_generator.py | 20 | CODE | |
| LOW | Firestore/Protos/lib/pretty_printing.py | 17 | CODE | |
| LOW | Firestore/Protos/lib/pretty_printing.py | 19 | CODE | |
| LOW | scripts/check_test_inclusion.py | 20 | CODE | |
| LOW | scripts/lib/checker.py | 15 | CODE | |
| LOW | scripts/nanopb/nanopb_objc_generator.py | 20 | CODE | |
| LOW | scripts/nanopb/proto_generator.py | 28 | CODE |