CAST Extend Settings

Overview

The CAST Extend Settings control the integration with CAST Extendexternal link. CAST Extend is CAST’s own repository of extensions for use during analyses and access to this for managing your extension is provided in the UI. When a fresh installation of CAST Imaging is initialized, CAST Extend settings are referenced: these settings are displayed in this panel.

You can therefore use the panel to update the settings for CAST Extend, i.e. if you want to change the user name, or if you want to start using Extend local Server.

Settings

Extend website

This mode configures each node to connect to [https://extend.castsoftware.com](CAST’s publicly available extension server) over the internet on port 443 via TCP. The CAST Extend URL field will be automatically populated with the https://extend.castsoftware.comexternal link in read-only mode (i.e. the URL cannot be changed). Your CAST Extend API key as input during the installation process (this can be generated in the CAST Extend UI) will also be displayed.

Extend Local Server

This mode configures each node to connect to an on-premises deployment of Extend Local Server, therefore avoiding a connection to CAST’s publicly available extension server over the internet (in other words this option is aimed at those who cannot access internet resources from the CAST Imaging installation):

API key

The API Key will have been generated during the installation of Extend Local Server and is displayed in the final summary screen of the installer on Microsoft Windows:

Or by running docker logs cast_extend_proxy on Linux via Docker:

Alternatively you can find the API key (on the line APIKEY) in the following locations on the machine on which Extend Local Server is installed:

Microsoft Windows: %PROGRAMDATA%\CAST\Extend\config.proxy.json
Linux via Docker: /shared/extend_data/config.proxy.json

Synchronize Extensions

This button is displayed when the connection settings are input and saved. This option will force Extend Local Server (when running in online mode) to fetch the extension “manifest” - i.e. information that CAST Imaging requires in order to request the correct extension:

  • available extensions
  • available releases
  • technology to extension mappings

This process is also automated (every two hours).

Allow CAST to automatically collect anonymous statistical data

In order to provide an estimate of the time required to fully analyze a given application version, CAST needs to collect anonymous data relating to the volume of files to be analyzed, the performance/specification of the analysis server and the actual time taken to perform analyses and generate snapshots. The data collected will be stored by CAST on its CAST Extend server and will not contain any information that would allow the identification of any customer related information or application. The data stored by CAST is purely statistical and is related only to the size and duration of analyses and snapshot generation (an example of the data collected by CAST is available for download in .json format here) - see below for information about the fields in the .json file. The richer the database of information we hold, the more accurate the estimation will be.

.json statistical data fields

Field(s) What is collected Scope / exclusions
appGuid versionGuid Internal UUIDs identifying the application and version No user-facing names or paths
nbApplication nbModules nbRunningJobs Count of applications, modules, and concurrent jobs Counts only
loc aep afp Lines of code, AEP count, AFP count from snapshot overview Aggregate numbers
securityDataflowChecked architectureChecked Boolean flags indicating whether security dataflow and architecture model features were used true / false only
scanDateTime Timestamp of the profiler scan ISO datetime
analysisDuration snapshotDuration installExtensionDuration updateExtensionDuration prepareAnalysisConfigDuration prepareAnalysisDataDuration publishToManagementDuration publishToImagingDuration Duration in seconds for each job step Numeric seconds, no log content
fileExtensions analyzedFiles Map of file extension to occurrence count (e.g. {java: 120, xml: 40}) Extensions only — no file names or paths
castTechnologies discoveredTechnologies Set of CAST technology names detected in the project Vendor-defined names only
extensions Set of installed CAST extension IDs and their versions Extension registry IDs only
objectives Set of version objective labels Enum strings
totalMemory logicalCpuCount physicalCpuCount cpuFrequency storageCapacity storageAvailable Hardware specs of the analysis node Generic hardware metrics
executionPlatform.OS executionPlatform.caipVersion executionPlatform.profilerVersion executionPlatform.freeMemory executionPlatform.diskSpace executionPlatform.mediaType OS name + architecture, CAIP and profiler version strings, memory/disk usage during analysis No hostnames or IPs
executionPlatform.databaseLocation Whether the analysis database is co-located with the node Value is "local", "remote", or "unknown" — no hostname, no credentials
analysisStatus snapshotStatus Step outcome ("success" / "fail") and error message strings from the main log when a step fails Log messages may contain internal paths on failure
detectedFrameworks Framework names detected by the profiler (lowercased) Reveals tech stack composition
java imports java annotations imported java classes Java import statements, annotation names, and class names referenced in the codebase May expose internal package naming conventions
c# usings c# annotations used cs classes C# using directives, annotation names, and referenced class names May expose internal namespace structure
maven Maven dependency identifiers from the project Reveals third-party library choices
javascript requires typescript requires package.json JS/TS require() calls and package.json dependency entries Reveals npm dependency inventory
patterns Pattern keys detected by the profiler Profiler-defined identifiers
graphviz Graphviz availability status from profiler result Tool detection flag
  • ✅ No personally identifiable information (PII) is collected at any point.
  • ✅ No database passwords, connection strings, or hostnames are transmitted. The database field records only "local" or "remote".
  • ✅ No source code content is collected. File analysis produces extension counts only — no file names or paths.
  • ⚠️ Technology stack metadata (import names, framework names, package identifiers) is collected to improve analysis accuracy. This reveals the libraries and frameworks in use but not proprietary code.