# tools-app Specification ## MODIFIED Requirements ### Requirement: Configuration is hardcoded The app SHALL hardcode all configuration in source: port `4173`, portal `https://portal.yrka.app`, PocketBase `https://pb.itcass.net`, a2loft `https://apis.a2loft.net`, agent `http://127.0.0.1:9000`, and the fingerprint agent release forge `https://sources.yrka.app`. There SHALL be no runtime configuration via environment variables or config files, with two exceptions: the Image Cropper's service credentials (Minio keys, Azure storage connection string, nodered credentials, cleanup-service key) SHALL come from environment variables and SHALL NOT be stored in source; and the Fingerprint Agent installer's release key (`GITEA_RELEASE_INSTALL_KEY`) SHALL come from the environment and SHALL NOT be stored in source. #### Scenario: No configuration required to run - **WHEN** the app is started with no environment variables or config files - **THEN** it serves on port 4173 with the hardcoded external endpoints #### Scenario: Cropper credentials from the environment - **WHEN** the cropper credentials are supplied as environment variables - **THEN** the cropper routes use them without any change to the hardcoded URL/port configuration #### Scenario: Installer key from the environment - **WHEN** the fpagent installer release key is supplied as an environment variable - **THEN** the installer and release-proxy routes use it without any change to the hardcoded URL/port configuration