Configuration

Intelligence for Good spans three steady-state runtime profiles, so configuration lives in environment variables instead of hard-coded values.

  • Local sandbox runs on every developer laptop with mock identity, SQLite/Chroma, and Ollama so feature work stays fast and offline.

  • i4g-dev hosts the shared cloud deployment used for integration tests and stakeholder demos.

  • i4g-prod serves analysts and partners; it must stay isolated from experimental changes.

Documenting every knob keeps contributors from accidentally pointing laptop jobs at production data while still letting us iterate quickly without the cost or latency of cloud resources.

Usage guidance for developers and sysadmins:

  1. Prefer the I4G_* env vars when exporting values; legacy aliases exist only for backwards compatibility.

  2. When adding or changing a setting, update src/i4g/settings/config.py, extend tests/unit/settings/, and rerun i4g settings export-manifest (pass --docs-repo ../docs when the docs checkout is available) before committing.

  3. Store credentials in .env.local or Secret Manager rather than committing secrets here; laptop runs can source the file via direnv or the built-in dotenv loader.

  4. Keep I4G_ENV=local for sandbox testing; other values assume GCP services (Cloud SQL, Cloud Storage, Vertex AI) are reachable.

  5. Machine-readable manifests live next to this page (docs/config/settings_manifest.{json,yaml} in core, config/settings.yaml in the docs site) for automation and CI validation.

This catalog is assembled by i4g settings export-manifest directly from src/i4g/settings/config.py. The descriptions below are automatically generated—do not hand-edit them; change the implementation defaults and rerun the exporter instead.

Section
Setting
Env Vars
Type
Default
Description

analytics

analytics.campaign_risk_weights

I4G_ANALYTICS__CAMPAIGN_RISK_WEIGHTS ANALYTICS_CAMPAIGN_RISK_WEIGHTS ANALYTICS__CAMPAIGN_RISK_WEIGHTS

dict[str, float]

{'case_count': 0.15, 'loss_sum': 0.3, 'avg_risk': 0.25, 'recency': 0.15, 'indicator_diversity': 0.15}

Weight factors for campaign risk score computation.

analytics

analytics.infrastructure_clustering_interval_hours

I4G_ANALYTICS__INFRASTRUCTURE_CLUSTERING_INTERVAL_HOURS ANALYTICS_INFRASTRUCTURE_CLUSTERING_INTERVAL_HOURS ANALYTICS__INFRASTRUCTURE_CLUSTERING_INTERVAL_HOURS

int

6

Hours between infrastructure clustering runs.

analytics

analytics.loss_linkage_confidence_threshold

I4G_ANALYTICS__LOSS_LINKAGE_CONFIDENCE_THRESHOLD ANALYTICS_LOSS_LINKAGE_CONFIDENCE_THRESHOLD ANALYTICS__LOSS_LINKAGE_CONFIDENCE_THRESHOLD

float

0.6

Minimum LLM confidence for intake-indicator link acceptance (0.0–1.0).

analytics

analytics.refresh_interval_minutes

I4G_ANALYTICS__REFRESH_INTERVAL_MINUTES ANALYTICS_REFRESH_INTERVAL_MINUTES ANALYTICS__REFRESH_INTERVAL_MINUTES

int

15

Minutes between automatic aggregation refreshes.

analytics

analytics.scheduled_report_check_interval_minutes

I4G_ANALYTICS__SCHEDULED_REPORT_CHECK_INTERVAL_MINUTES ANALYTICS_SCHEDULED_REPORT_CHECK_INTERVAL_MINUTES ANALYTICS__SCHEDULED_REPORT_CHECK_INTERVAL_MINUTES

int

15

Minutes between scheduled report due-date checks.

analytics

analytics.scheduled_report_max_consecutive_failures

I4G_ANALYTICS__SCHEDULED_REPORT_MAX_CONSECUTIVE_FAILURES ANALYTICS_SCHEDULED_REPORT_MAX_CONSECUTIVE_FAILURES ANALYTICS__SCHEDULED_REPORT_MAX_CONSECUTIVE_FAILURES

int

3

Deactivate a schedule after this many consecutive failures.

analytics

analytics.watchlist_check_interval_minutes

I4G_ANALYTICS__WATCHLIST_CHECK_INTERVAL_MINUTES ANALYTICS_WATCHLIST_CHECK_INTERVAL_MINUTES ANALYTICS__WATCHLIST_CHECK_INTERVAL_MINUTES

int

30

Minutes between watchlist notification checks.

api

api.base_url

I4G_API__BASE_URL API_URL API__BASE_URL

str

http://127.0.0.1:8000

API endpoint configuration shared by CLI + dashboards.

api

api.cors_origins

I4G_API__CORS_ORIGINS API_CORS_ORIGINS API__CORS_ORIGINS

list[str]

["*"]

Allowed CORS origins. Defaults to ['*'] for local dev; override in cloud envs.

api

api.key

I4G_API__KEY API_KEY API__KEY

str

dev-analyst-token

API endpoint configuration shared by CLI + dashboards.

api

api.rate_limit_per_minute

I4G_API__RATE_LIMIT_PER_MINUTE API_RATE_LIMIT API__RATE_LIMIT_PER_MINUTE

int

60

API endpoint configuration shared by CLI + dashboards.

auto_investigate

auto_investigate.domain_blocklist

I4G_AUTO_INVESTIGATE__DOMAIN_BLOCKLIST AUTO_INVESTIGATE_DOMAIN_BLOCKLIST AUTO_INVESTIGATE__DOMAIN_BLOCKLIST

list[str]

[]

Domains to exclude from automatic investigation.

auto_investigate

auto_investigate.enabled

I4G_AUTO_INVESTIGATE__ENABLED AUTO_INVESTIGATE_ENABLED AUTO_INVESTIGATE__ENABLED

bool

False

Enable automatic investigation of case URLs.

auto_investigate

auto_investigate.max_concurrent

I4G_AUTO_INVESTIGATE__MAX_CONCURRENT AUTO_INVESTIGATE_MAX_CONCURRENT AUTO_INVESTIGATE__MAX_CONCURRENT

int

3

Maximum concurrent auto-investigations.

auto_investigate

auto_investigate.staleness_days

I4G_AUTO_INVESTIGATE__STALENESS_DAYS AUTO_INVESTIGATE_STALENESS_DAYS AUTO_INVESTIGATE__STALENESS_DAYS

int

30

Scans older than this many days are considered stale and eligible for re-scan.

crypto

crypto.pii_key

I4G_CRYPTO__PII_KEY CRYPTO_PII_KEY CRYPTO__PII_KEY

str | NoneType

None

Application-level cryptographic material used by Fernet encryption of victim contact fields.

data_dir

data_dir

I4G_DATA_DIR

Path

/Users/jerry/Work/project/i4g/core/data

Top-level configuration model with nested sections for each subsystem.

db_admin

db_admin.dev_password

I4G_DB_ADMIN__DEV_PASSWORD DB_ADMIN__DEV_PASSWORD

str | NoneType

None

Postgres password for i4g-dev-db.

db_admin

db_admin.prod_password

I4G_DB_ADMIN__PROD_PASSWORD DB_ADMIN__PROD_PASSWORD

str | NoneType

None

Postgres password for i4g-prod-db.

dossier_job

dossier_job.batch_size

I4G_DOSSIER_JOB__BATCH_SIZE DOSSIER_BATCH_SIZE DOSSIER__BATCH_SIZE

int

5

Cloud Run job overrides for dossier queue processing.

dossier_job

dossier_job.dry_run

I4G_DOSSIER_JOB__DRY_RUN DOSSIER_DRY_RUN DOSSIER__DRY_RUN

bool

False

Cloud Run job overrides for dossier queue processing.

email

email.from_address

I4G_EMAIL__FROM_ADDRESS EMAIL_FROM_ADDRESS EMAIL__FROM_ADDRESS

str

Email delivery configuration for scheduled reports. Set provider to smtp and supply SMTP credentials to enable real delivery. The default log provider writes the email payload to the application log only. Env vars: I4G_EMAIL__PROVIDER, I4G_EMAIL__SMTP_HOST, etc.

email

email.provider

I4G_EMAIL__PROVIDER EMAIL_PROVIDER EMAIL__PROVIDER

str

log

Email provider: 'log' (default) or 'smtp'.

email

email.smtp_host

I4G_EMAIL__SMTP_HOST EMAIL_SMTP_HOST EMAIL__SMTP_HOST

str

localhost

Email delivery configuration for scheduled reports. Set provider to smtp and supply SMTP credentials to enable real delivery. The default log provider writes the email payload to the application log only. Env vars: I4G_EMAIL__PROVIDER, I4G_EMAIL__SMTP_HOST, etc.

email

email.smtp_password

I4G_EMAIL__SMTP_PASSWORD EMAIL_SMTP_PASSWORD EMAIL__SMTP_PASSWORD

str

``

Email delivery configuration for scheduled reports. Set provider to smtp and supply SMTP credentials to enable real delivery. The default log provider writes the email payload to the application log only. Env vars: I4G_EMAIL__PROVIDER, I4G_EMAIL__SMTP_HOST, etc.

email

email.smtp_port

I4G_EMAIL__SMTP_PORT EMAIL_SMTP_PORT EMAIL__SMTP_PORT

int

587

Email delivery configuration for scheduled reports. Set provider to smtp and supply SMTP credentials to enable real delivery. The default log provider writes the email payload to the application log only. Env vars: I4G_EMAIL__PROVIDER, I4G_EMAIL__SMTP_HOST, etc.

email

email.smtp_user

I4G_EMAIL__SMTP_USER EMAIL_SMTP_USER EMAIL__SMTP_USER

str

``

Email delivery configuration for scheduled reports. Set provider to smtp and supply SMTP credentials to enable real delivery. The default log provider writes the email payload to the application log only. Env vars: I4G_EMAIL__PROVIDER, I4G_EMAIL__SMTP_HOST, etc.

email

email.use_tls

I4G_EMAIL__USE_TLS EMAIL_USE_TLS EMAIL__USE_TLS

bool

True

Email delivery configuration for scheduled reports. Set provider to smtp and supply SMTP credentials to enable real delivery. The default log provider writes the email payload to the application log only. Env vars: I4G_EMAIL__PROVIDER, I4G_EMAIL__SMTP_HOST, etc.

enrichment

enrichment.blockchain_api_key

I4G_ENRICHMENT__BLOCKCHAIN_API_KEY ENRICHMENT_BLOCKCHAIN_API_KEY ENRICHMENT__BLOCKCHAIN_API_KEY

str

``

API key for the configured blockchain analytics vendor.

enrichment

enrichment.blockchain_vendor

I4G_ENRICHMENT__BLOCKCHAIN_VENDOR ENRICHMENT_BLOCKCHAIN_VENDOR ENRICHMENT__BLOCKCHAIN_VENDOR

str

mock

Blockchain analytics vendor: 'chainalysis', 'trm', 'elliptic', or 'mock'.

enrichment

enrichment.securitytrails_api_key

I4G_ENRICHMENT__SECURITYTRAILS_API_KEY ENRICHMENT_SECURITYTRAILS_API_KEY ENRICHMENT__SECURITYTRAILS_API_KEY

str

``

SecurityTrails API key for passive DNS lookups.

enrichment

enrichment.takedown_check_interval_hours

I4G_ENRICHMENT__TAKEDOWN_CHECK_INTERVAL_HOURS ENRICHMENT_TAKEDOWN_CHECK_INTERVAL_HOURS ENRICHMENT__TAKEDOWN_CHECK_INTERVAL_HOURS

int

12

Hours between takedown verification checks.

enrichment

enrichment.takedown_max_urls_per_run

I4G_ENRICHMENT__TAKEDOWN_MAX_URLS_PER_RUN ENRICHMENT_TAKEDOWN_MAX_URLS_PER_RUN ENRICHMENT__TAKEDOWN_MAX_URLS_PER_RUN

int

200

Maximum URLs to check per takedown run.

env

env

I4G_ENV ENV ENVIRONMENT RUNTIME__ENV

str

local

Top-level configuration model with nested sections for each subsystem.

feedback

feedback.enabled

I4G_FEEDBACK__ENABLED FEEDBACK_ENABLED FEEDBACK__ENABLED

bool

True

Master switch for the feedback feature.

feedback

feedback.sheet_id

I4G_FEEDBACK__SHEET_ID FEEDBACK_SHEET_ID FEEDBACK__SHEET_ID

str

``

Google Sheet spreadsheet ID for feedback storage.

identity

identity.audience

I4G_IDENTITY__AUDIENCE IDENTITY_AUDIENCE IDENTITY__AUDIENCE

str | NoneType

None

Identity provider wiring for auth-enabled services.

identity

identity.client_id

I4G_IDENTITY__CLIENT_ID IDENTITY_CLIENT_ID IDENTITY__CLIENT_ID

str | NoneType

None

Identity provider wiring for auth-enabled services.

identity

identity.disable_auth

I4G_IDENTITY__DISABLE_AUTH IDENTITY_DISABLE_AUTH IDENTITY__DISABLE_AUTH

bool

False

Identity provider wiring for auth-enabled services.

identity

identity.iap_backend_audience

I4G_IDENTITY__IAP_BACKEND_AUDIENCE IDENTITY_IAP_BACKEND_AUDIENCE IDENTITY__IAP_BACKEND_AUDIENCE

str | NoneType

None

IAP backend-service audience string (/projects/PROJECT_NUMBER/global/backendServices/BACKEND_ID). Used to verify X-Goog-IAP-JWT-Assertion tokens whose audience differs from the OAuth client ID.

identity

identity.issuer

I4G_IDENTITY__ISSUER IDENTITY_ISSUER IDENTITY__ISSUER

str | NoneType

None

Identity provider wiring for auth-enabled services.

identity

identity.provider

I4G_IDENTITY__PROVIDER IDENTITY_PROVIDER IDENTITY__PROVIDER

Literal['mock', 'google_identity', 'authentik', 'firebase']

mock

Identity provider wiring for auth-enabled services.

ingest_retry_job

ingest_retry_job.batch_limit

I4G_INGEST_RETRY_JOB__BATCH_LIMIT INGEST_RETRY_BATCH_LIMIT INGEST_RETRY__BATCH_LIMIT

int

25

Cloud Run job overrides for the ingestion retry processor.

ingest_retry_job

ingest_retry_job.dry_run

I4G_INGEST_RETRY_JOB__DRY_RUN INGEST_RETRY_DRY_RUN INGEST_RETRY__DRY_RUN

bool

False

Cloud Run job overrides for the ingestion retry processor.

ingestion

ingestion.batch_limit

I4G_INGESTION__BATCH_LIMIT INGEST_BATCH_LIMIT INGEST__BATCH_LIMIT INGESTION_BATCH_LIMIT INGESTION__BATCH_LIMIT

int

0

Scheduler + job configuration for ingestion workflows.

ingestion

ingestion.dataset_path

I4G_INGESTION__DATASET_PATH INGEST_JSONL_PATH INGEST__JSONL_PATH INGESTION_JSONL_PATH INGESTION__JSONL_PATH

str | Path

/Users/jerry/Work/project/i4g/core/data/retrieval_poc/cases.jsonl

Scheduler + job configuration for ingestion workflows.

ingestion

ingestion.default_dataset

I4G_INGESTION__DEFAULT_DATASET INGEST_DEFAULT_DATASET INGEST__DEFAULT_DATASET INGEST__DATASET_NAME INGESTION_DEFAULT_DATASET INGESTION__DEFAULT_DATASET

str

unknown

Scheduler + job configuration for ingestion workflows.

ingestion

ingestion.default_region

I4G_INGESTION__DEFAULT_REGION INGESTION_DEFAULT_REGION INGESTION__DEFAULT_REGION

str

us-central1

Scheduler + job configuration for ingestion workflows.

ingestion

ingestion.default_service_account

I4G_INGESTION__DEFAULT_SERVICE_ACCOUNT INGESTION_SERVICE_ACCOUNT INGESTION__SERVICE_ACCOUNT

str | NoneType

None

Scheduler + job configuration for ingestion workflows.

ingestion

ingestion.dry_run

I4G_INGESTION__DRY_RUN INGEST_DRY_RUN INGEST__DRY_RUN INGESTION_DRY_RUN INGESTION__DRY_RUN

bool

False

Scheduler + job configuration for ingestion workflows.

ingestion

ingestion.enable_scheduled_jobs

I4G_INGESTION__ENABLE_SCHEDULED_JOBS INGESTION_ENABLE_SCHEDULED_JOBS INGESTION__ENABLE_SCHEDULED_JOBS

bool

False

Scheduler + job configuration for ingestion workflows.

ingestion

ingestion.enable_sql

I4G_INGESTION__ENABLE_SQL INGEST_ENABLE_SQL INGEST__ENABLE_SQL INGESTION_ENABLE_SQL INGESTION__ENABLE_SQL

bool

True

Scheduler + job configuration for ingestion workflows.

ingestion

ingestion.enable_vector_store

I4G_INGESTION__ENABLE_VECTOR_STORE INGEST_ENABLE_VECTOR INGEST__ENABLE_VECTOR INGESTION_ENABLE_VECTOR INGESTION__ENABLE_VECTOR

bool

True

Scheduler + job configuration for ingestion workflows.

ingestion

ingestion.enable_vertex

I4G_INGESTION__ENABLE_VERTEX INGEST_ENABLE_VERTEX INGEST__ENABLE_VERTEX INGESTION_ENABLE_VERTEX INGESTION__ENABLE_VERTEX

bool

False

Scheduler + job configuration for ingestion workflows.

ingestion

ingestion.fanout_timeout_seconds

I4G_INGESTION__FANOUT_TIMEOUT_SECONDS INGEST_FANOUT_TIMEOUT_SECONDS INGEST__FANOUT_TIMEOUT_SECONDS INGESTION_FANOUT_TIMEOUT_SECONDS INGESTION__FANOUT_TIMEOUT_SECONDS

int

60

Scheduler + job configuration for ingestion workflows.

ingestion

ingestion.max_retries

I4G_INGESTION__MAX_RETRIES INGEST_MAX_RETRIES INGEST__MAX_RETRIES INGESTION_MAX_RETRIES INGESTION__MAX_RETRIES

int

3

Scheduler + job configuration for ingestion workflows.

ingestion

ingestion.rate_limit_delay

I4G_INGESTION__RATE_LIMIT_DELAY INGEST_RATE_LIMIT_DELAY INGEST__RATE_LIMIT_DELAY INGESTION_RATE_LIMIT_DELAY INGESTION__RATE_LIMIT_DELAY

float

0.0

Delay in seconds between records for rate limiting.

ingestion

ingestion.reset_vector

I4G_INGESTION__RESET_VECTOR INGEST_RESET_VECTOR INGEST__RESET_VECTOR INGESTION_RESET_VECTOR INGESTION__RESET_VECTOR

bool

False

Scheduler + job configuration for ingestion workflows.

ingestion

ingestion.retry_delay_seconds

I4G_INGESTION__RETRY_DELAY_SECONDS INGEST_RETRY_DELAY_SECONDS INGEST__RETRY_DELAY_SECONDS INGESTION_RETRY_DELAY_SECONDS INGESTION__RETRY_DELAY_SECONDS

int

60

Scheduler + job configuration for ingestion workflows.

ingestion

ingestion.scheduler_project

I4G_INGESTION__SCHEDULER_PROJECT INGESTION_SCHEDULER_PROJECT INGESTION__SCHEDULER_PROJECT

str | NoneType

None

Scheduler + job configuration for ingestion workflows.

ingestion

ingestion.skip_classification

I4G_INGESTION__SKIP_CLASSIFICATION INGEST_SKIP_CLASSIFICATION INGEST__SKIP_CLASSIFICATION INGESTION_SKIP_CLASSIFICATION INGESTION__SKIP_CLASSIFICATION

bool

False

When True, skip fraud classification during ingestion.

intake

intake.api_base

I4G_INTAKE__API_BASE INTAKE_API_BASE INTAKE__API_BASE

str | NoneType

None

Base URL for the intake API (if processing via HTTP rather than direct service call).

intake

intake.api_key

I4G_INTAKE__API_KEY INTAKE_API_KEY INTAKE__API_KEY

str | NoneType

None

API key for authenticating intake API calls. Falls back to api.key.

intake

intake.id

I4G_INTAKE__ID INTAKE_ID INTAKE__ID

str | NoneType

None

Intake submission ID to process.

intake

intake.job_id

I4G_INTAKE__JOB_ID INTAKE_JOB_ID INTAKE__JOB_ID

str | NoneType

None

Intake job ID for tracking.

llm

llm.chat_model

I4G_LLM__CHAT_MODEL LLM_CHAT_MODEL LLM__CHAT_MODEL

str

llama3

Primary model identifier (e.g. 'llama3', 'gemini-2.5-flash'). Used for all providers.

llm

llm.ollama_base_url

I4G_LLM__OLLAMA_BASE_URL OLLAMA_BASE_URL LLM__OLLAMA_BASE_URL

str

http://127.0.0.1:11434

Large language model provider settings.

llm

llm.provider

I4G_LLM__PROVIDER LLM_PROVIDER LLM__PROVIDER

Literal['ollama', 'vertex_ai', 'gemini', 'mock']

ollama

LLM backend: 'vertex_ai'/'gemini' (synonyms) use Vertex AI via google-genai, 'ollama' uses local Ollama, 'mock' for tests.

llm

llm.temperature

I4G_LLM__TEMPERATURE LLM_TEMPERATURE LLM__TEMPERATURE

float

0.1

Large language model provider settings.

llm

llm.vertex_ai_location

I4G_LLM__VERTEX_AI_LOCATION LLM_VERTEX_AI_LOCATION LLM__VERTEX_AI__LOCATION

str | NoneType

us-central1

Large language model provider settings.

llm

llm.vertex_ai_project

I4G_LLM__VERTEX_AI_PROJECT LLM_VERTEX_AI_PROJECT LLM__VERTEX_AI__PROJECT

str | NoneType

None

Large language model provider settings.

observability

observability.contact_decrypt_alert_threshold

I4G_OBSERVABILITY__CONTACT_DECRYPT_ALERT_THRESHOLD OBS_CONTACT_DECRYPT_ALERT_THRESHOLD OBSERVABILITY__CONTACT_DECRYPT_ALERT_THRESHOLD

int

10

Max contact decryption calls per user per hour before alerting.

observability

observability.dossier_stuck_timeout_minutes

I4G_OBSERVABILITY__DOSSIER_STUCK_TIMEOUT_MINUTES OBS_DOSSIER_STUCK_TIMEOUT_MINUTES OBSERVABILITY__DOSSIER_STUCK_TIMEOUT_MINUTES

int

30

Minutes after which a dossier job is considered stuck.

observability

observability.ingestion_error_rate_threshold

I4G_OBSERVABILITY__INGESTION_ERROR_RATE_THRESHOLD OBS_INGESTION_ERROR_RATE_THRESHOLD OBSERVABILITY__INGESTION_ERROR_RATE_THRESHOLD

float

0.1

Ingestion failure rate (0.0–1.0) that triggers an alert.

observability

observability.otlp_endpoint

I4G_OBSERVABILITY__OTLP_ENDPOINT OBS_OTLP_ENDPOINT OBSERVABILITY__OTLP_ENDPOINT

str | NoneType

None

Logging, tracing, and metrics configuration.

observability

observability.service_name

I4G_OBSERVABILITY__SERVICE_NAME OBS_SERVICE_NAME OBSERVABILITY__SERVICE_NAME

str

i4g-backend

Logging, tracing, and metrics configuration.

observability

observability.statsd_host

I4G_OBSERVABILITY__STATSD_HOST OBS_STATSD_HOST OBSERVABILITY__STATSD_HOST

str | NoneType

None

Logging, tracing, and metrics configuration.

observability

observability.statsd_port

I4G_OBSERVABILITY__STATSD_PORT OBS_STATSD_PORT OBSERVABILITY__STATSD_PORT

int

8125

Logging, tracing, and metrics configuration.

observability

observability.statsd_prefix

I4G_OBSERVABILITY__STATSD_PREFIX OBS_STATSD_PREFIX OBSERVABILITY__STATSD_PREFIX

str

i4g

Logging, tracing, and metrics configuration.

observability

observability.structured_logging

I4G_OBSERVABILITY__STRUCTURED_LOGGING OBS_STRUCTURED_LOGGING OBSERVABILITY__STRUCTURED_LOGGING

bool

True

Logging, tracing, and metrics configuration.

observability

observability.trace_sample_rate

I4G_OBSERVABILITY__TRACE_SAMPLE_RATE OBS_TRACE_SAMPLE_RATE OBSERVABILITY__TRACE_SAMPLE_RATE

float

0.0

Logging, tracing, and metrics configuration.

partner_feed

partner_feed.default_page_size

I4G_PARTNER_FEED__DEFAULT_PAGE_SIZE PARTNER_FEED_DEFAULT_PAGE_SIZE PARTNER_FEED__DEFAULT_PAGE_SIZE

int

100

Default page size for paginated indicator feed responses.

partner_feed

partner_feed.enabled

I4G_PARTNER_FEED__ENABLED PARTNER_FEED_ENABLED PARTNER_FEED__ENABLED

bool

False

Enable the partner indicator feed API.

partner_feed

partner_feed.max_page_size

I4G_PARTNER_FEED__MAX_PAGE_SIZE PARTNER_FEED_MAX_PAGE_SIZE PARTNER_FEED__MAX_PAGE_SIZE

int

1000

Maximum allowed page size for indicator feed requests.

partner_feed

partner_feed.rate_limit_per_minute

I4G_PARTNER_FEED__RATE_LIMIT_PER_MINUTE PARTNER_FEED_RATE_LIMIT_PER_MINUTE PARTNER_FEED__RATE_LIMIT_PER_MINUTE

int

60

Max requests per minute per API key.

project_root

project_root

I4G_PROJECT_ROOT PROJECT_ROOT RUNTIME__PROJECT_ROOT I4G_RUNTIME__PROJECT_ROOT

Path

/Users/jerry/Work/project/i4g/core

Top-level configuration model with nested sections for each subsystem.

redis

redis.channel_prefix

I4G_REDIS__CHANNEL_PREFIX REDIS_CHANNEL_PREFIX REDIS__CHANNEL_PREFIX

str

ssi:events

Pub/sub channel prefix for SSI events. Full channel: {prefix}:{scan_id}.

redis

redis.poll_interval_seconds

I4G_REDIS__POLL_INTERVAL_SECONDS REDIS_POLL_INTERVAL REDIS__POLL_INTERVAL

float

2.0

DB polling interval (seconds) when Redis is unavailable.

redis

redis.url

I4G_REDIS__URL REDIS_URL REDIS__URL

str

``

Redis connection URL (e.g. redis://localhost:6379/0). Empty disables Redis.

report

report.batch_limit

I4G_REPORT__BATCH_LIMIT REPORT_BATCH_LIMIT REPORT__BATCH_LIMIT

int

25

Maximum number of reviews to process per report batch.

report

report.drive_parent_id

I4G_REPORT__DRIVE_PARENT_ID REPORT_DRIVE_PARENT_ID REPORT__DRIVE_PARENT_ID

str | NoneType

None

Agentic dossier/report configuration.

report

report.dry_run

I4G_REPORT__DRY_RUN REPORT_DRY_RUN REPORT__DRY_RUN

bool

False

When True, log actions without generating reports.

report

report.hash_algorithm

I4G_REPORT__HASH_ALGORITHM REPORT_HASH_ALGORITHM REPORT__HASH_ALGORITHM

str

sha256

Agentic dossier/report configuration.

report

report.max_cases_per_dossier

I4G_REPORT__MAX_CASES_PER_DOSSIER REPORT_MAX_CASES_PER_DOSSIER REPORT__MAX_CASES_PER_DOSSIER

int

5

Agentic dossier/report configuration.

report

report.min_loss_usd

I4G_REPORT__MIN_LOSS_USD REPORT_MIN_LOSS_USD REPORT__MIN_LOSS_USD

float

50000.0

Agentic dossier/report configuration.

report

report.recency_days

I4G_REPORT__RECENCY_DAYS REPORT_RECENCY_DAYS REPORT__RECENCY_DAYS

int

30

Agentic dossier/report configuration.

report

report.require_cross_border

I4G_REPORT__REQUIRE_CROSS_BORDER REPORT_REQUIRE_CROSS_BORDER REPORT__REQUIRE_CROSS_BORDER

bool

False

Agentic dossier/report configuration.

report

report.review_ids

I4G_REPORT__REVIEW_IDS REPORT_REVIEW_IDS REPORT__REVIEW_IDS

str | NoneType

None

Comma-separated explicit review IDs (overrides queue lookup).

report

report.target_status

I4G_REPORT__TARGET_STATUS REPORT_TARGET_STATUS REPORT__TARGET_STATUS

str

accepted

Queue status filter when auto-resolving review IDs.

report

report.tool_timeout_seconds

I4G_REPORT__TOOL_TIMEOUT_SECONDS REPORT_TOOL_TIMEOUT_SECONDS REPORT__TOOL_TIMEOUT_SECONDS

float | NoneType

None

Per-tool timeout for LangChain dossier tools; None disables timeouts.

runtime

runtime.fallback_dir

I4G_RUNTIME__FALLBACK_DIR RUNTIME_FALLBACK_DIR RUNTIME__FALLBACK_DIR

Path

/tmp/i4g/evidence

Fallback directory for local evidence storage when primary path is not writable.

runtime

runtime.log_level

I4G_RUNTIME__LOG_LEVEL LOG_LEVEL RUNTIME__LOG_LEVEL

str

INFO

Process-level runtime controls.

search

search.classification_presets

I4G_SEARCH__CLASSIFICATION_PRESETS SEARCH_CLASSIFICATION_PRESETS SEARCH__CLASSIFICATION_PRESETS

list[str]

[]

Hybrid search tuning parameters and schema presets.

search

search.dataset_presets

I4G_SEARCH__DATASET_PRESETS SEARCH_DATASET_PRESETS SEARCH__DATASET_PRESETS

list[str]

[]

Hybrid search tuning parameters and schema presets.

search

search.default_limit

I4G_SEARCH__DEFAULT_LIMIT SEARCH_DEFAULT_LIMIT SEARCH__DEFAULT_LIMIT

int

25

Hybrid search tuning parameters and schema presets.

search

search.indicator_types

I4G_SEARCH__INDICATOR_TYPES SEARCH_INDICATOR_TYPES SEARCH__INDICATOR_TYPES

list[str]

["bank_account", "crypto_wallet", "email", "phone", "ip_address", "asn", "browser_agent", "url", "merchant"]

Hybrid search tuning parameters and schema presets.

search

search.loss_buckets

I4G_SEARCH__LOSS_BUCKETS SEARCH_LOSS_BUCKETS SEARCH__LOSS_BUCKETS

list[str]

["<10k", "10k-50k", ">50k"]

Hybrid search tuning parameters and schema presets.

search

search.saved_search.migration_tag

I4G_SEARCH__SAVED_SEARCH__MIGRATION_TAG SEARCH_SAVED_SEARCH_MIGRATION_TAG SEARCH__SAVED_SEARCH__MIGRATION_TAG SAVED_SEARCH_MIGRATION_TAG

str

hybrid-v1

Saved-search migration defaults shared across CLI scripts.

search

search.saved_search.schema_version

I4G_SEARCH__SAVED_SEARCH__SCHEMA_VERSION SEARCH_SAVED_SEARCH_SCHEMA_VERSION SEARCH__SAVED_SEARCH__SCHEMA_VERSION SAVED_SEARCH_SCHEMA_VERSION

str

``

Saved-search migration defaults shared across CLI scripts.

search

search.schema_cache_ttl_seconds

I4G_SEARCH__SCHEMA_CACHE_TTL_SECONDS SEARCH_SCHEMA_CACHE_TTL SEARCH__SCHEMA_CACHE_TTL

int

300

Hybrid search tuning parameters and schema presets.

search

search.schema_entity_example_limit

I4G_SEARCH__SCHEMA_ENTITY_EXAMPLE_LIMIT SEARCH_SCHEMA_ENTITY_EXAMPLE_LIMIT SEARCH__SCHEMA_ENTITY_EXAMPLE_LIMIT

int

5

Hybrid search tuning parameters and schema presets.

search

search.semantic_weight

I4G_SEARCH__SEMANTIC_WEIGHT SEARCH_SEMANTIC_WEIGHT SEARCH__SEMANTIC_WEIGHT

float

0.65

Hybrid search tuning parameters and schema presets.

search

search.structured_weight

I4G_SEARCH__STRUCTURED_WEIGHT SEARCH_STRUCTURED_WEIGHT SEARCH__STRUCTURED_WEIGHT

float

0.35

Hybrid search tuning parameters and schema presets.

search

search.time_presets

I4G_SEARCH__TIME_PRESETS SEARCH_TIME_PRESETS SEARCH__TIME_PRESETS

list[str]

["7d", "30d", "90d"]

Hybrid search tuning parameters and schema presets.

secrets

secrets.local_env_file

I4G_SECRETS__LOCAL_ENV_FILE SECRETS_LOCAL_ENV_FILE SECRETS__LOCAL_ENV_FILE

Path &#124; NoneType

None

Secret resolution strategy (local vs Secret Manager).

secrets

secrets.project

I4G_SECRETS__PROJECT SECRETS_PROJECT SECRETS__PROJECT

str &#124; NoneType

None

Secret resolution strategy (local vs Secret Manager).

secrets

secrets.use_secret_manager

I4G_SECRETS__USE_SECRET_MANAGER SECRETS_USE_SECRET_MANAGER SECRETS__USE_SECRET_MANAGER

bool

False

Secret resolution strategy (local vs Secret Manager).

smoke

smoke.api_url

I4G_SMOKE__API_URL SMOKE_API_URL SMOKE__API_URL

str

https://core-svc-y5jge5w2cq-uc.a.run.app

Default API base URL for smoke tests.

ssi

ssi.core_api_url

I4G_SSI__CORE_API_URL SSI_CORE_API_URL SSI__CORE_API_URL

str

https://api.dev.intelligenceforgood.org

Core API base URL for task status callbacks from the SSI service.

ssi

ssi.events_endpoint

I4G_SSI__EVENTS_ENDPOINT SSI_EVENTS_ENDPOINT SSI__EVENTS_ENDPOINT

str

``

Core API endpoint prefix for pushing SSI events (e.g. https://api.example.com). Empty disables HTTP event sink.

ssi

ssi.playbook_dir

I4G_SSI__PLAYBOOK_DIR SSI_PLAYBOOK_DIR SSI__PLAYBOOK_DIR

str

config/playbooks

Directory containing SSI playbook JSON files. Resolved relative to project root.

ssi

ssi.service_url

I4G_SSI__SERVICE_URL SSI_SERVICE_URL SSI__SERVICE_URL

str

``

Base URL of the SSI Cloud Run Service. Core uses this to dispatch investigation requests. Terraform injects the URI in cloud. Warning logged if unset when I4G_ENV != local.

storage

storage.cloudsql_database

I4G_STORAGE__CLOUDSQL_DATABASE APP__CLOUDSQL__DATABASE I4G_APP__CLOUDSQL__DATABASE

str &#124; NoneType

None

Structured + blob storage configuration.

storage

storage.cloudsql_enable_iam_auth

I4G_STORAGE__CLOUDSQL_ENABLE_IAM_AUTH APP__CLOUDSQL__ENABLE_IAM_AUTH I4G_APP__CLOUDSQL__ENABLE_IAM_AUTH

bool

False

Structured + blob storage configuration.

storage

storage.cloudsql_instance

I4G_STORAGE__CLOUDSQL_INSTANCE APP__CLOUDSQL__INSTANCE I4G_APP__CLOUDSQL__INSTANCE

str &#124; NoneType

None

Structured + blob storage configuration.

storage

storage.cloudsql_password

I4G_STORAGE__CLOUDSQL_PASSWORD APP__CLOUDSQL__PASSWORD I4G_APP__CLOUDSQL__PASSWORD

str &#124; NoneType

None

Structured + blob storage configuration.

storage

storage.cloudsql_user

I4G_STORAGE__CLOUDSQL_USER APP__CLOUDSQL__USER I4G_APP__CLOUDSQL__USER

str &#124; NoneType

None

Structured + blob storage configuration.

storage

storage.evidence_bucket

I4G_STORAGE__EVIDENCE_BUCKET STORAGE_EVIDENCE_BUCKET STORAGE__EVIDENCE_BUCKET

str &#124; NoneType

None

Structured + blob storage configuration.

storage

storage.evidence_local_dir

I4G_STORAGE__EVIDENCE_LOCAL_DIR STORAGE_EVIDENCE_LOCAL_DIR STORAGE__EVIDENCE__LOCAL_DIR

Path

/Users/jerry/Work/project/i4g/core/data/evidence

Structured + blob storage configuration.

storage

storage.report_bucket

I4G_STORAGE__REPORT_BUCKET STORAGE_REPORT_BUCKET STORAGE__REPORT_BUCKET

str &#124; NoneType

None

Structured + blob storage configuration.

storage

storage.retention_days

I4G_STORAGE__RETENTION_DAYS STORAGE__RETENTION_DAYS STORAGE_RETENTION_DAYS

int

90

Number of days after resolution before automated purge. Set via I4G_STORAGE__RETENTION_DAYS.

storage

storage.retention_enabled

I4G_STORAGE__RETENTION_ENABLED STORAGE__RETENTION_ENABLED STORAGE_RETENTION_ENABLED

bool

True

Master switch for automated retention purge. Set I4G_STORAGE__RETENTION_ENABLED=false to disable.

storage

storage.retention_grace_days

I4G_STORAGE__RETENTION_GRACE_DAYS STORAGE__RETENTION_GRACE_DAYS STORAGE_RETENTION_GRACE_DAYS

int

30

Days after soft-delete before hard purge. Set via I4G_STORAGE__RETENTION_GRACE_DAYS.

storage

storage.sqlite_path

I4G_STORAGE__SQLITE_PATH

Path

/Users/jerry/Work/project/i4g/core/data/i4g_store.db

Structured + blob storage configuration.

storage

storage.ssi_evidence_bucket

I4G_STORAGE__SSI_EVIDENCE_BUCKET STORAGE__SSI_EVIDENCE_BUCKET STORAGE_SSI_EVIDENCE_BUCKET

str &#124; NoneType

None

GCS bucket for SSI investigation evidence artifacts.

storage

storage.ssi_evidence_prefix

I4G_STORAGE__SSI_EVIDENCE_PREFIX STORAGE__SSI_EVIDENCE_PREFIX STORAGE_SSI_EVIDENCE_PREFIX

str

investigations

Key prefix inside the SSI evidence bucket.

storage

storage.structured_backend

I4G_STORAGE__STRUCTURED_BACKEND STRUCTURED_BACKEND STORAGE__STRUCTURED_BACKEND

Literal['sqlite', 'cloudsql']

sqlite

Structured + blob storage configuration.

sweep

sweep.batch_size

I4G_SWEEP__BATCH_SIZE SWEEP_BATCH_SIZE SWEEP__BATCH_SIZE JOB_BATCH_SIZE

int

20

Number of cases to classify per loop iteration.

sweep

sweep.max_runtime_seconds

I4G_SWEEP__MAX_RUNTIME_SECONDS SWEEP_MAX_RUNTIME_SECONDS SWEEP__MAX_RUNTIME_SECONDS JOB_MAX_RUNTIME_SECONDS

int

3300

Maximum wall-clock seconds before the sweeper exits gracefully.

vector

vector.backend

I4G_VECTOR__BACKEND VECTOR_BACKEND VECTOR__BACKEND

Literal['chroma', 'faiss', 'pgvector', 'vertex_ai']

chroma

Vector store configuration supporting multiple backends.

vector

vector.chroma_dir

I4G_VECTOR__CHROMA_DIR

Path

/Users/jerry/Work/project/i4g/core/data/chroma_store

Vector store configuration supporting multiple backends.

vector

vector.collection

I4G_VECTOR__COLLECTION VECTOR_COLLECTION VECTOR__COLLECTION

str

i4g_vectors

Vector store configuration supporting multiple backends.

vector

vector.embedding_model

I4G_VECTOR__EMBEDDING_MODEL EMBED_MODEL VECTOR__EMBED_MODEL

str

nomic-embed-text

Vector store configuration supporting multiple backends.

vector

vector.faiss_dir

I4G_VECTOR__FAISS_DIR VECTOR_FAISS_DIR VECTOR__FAISS_DIR

Path

/Users/jerry/Work/project/i4g/core/data/faiss_store

Vector store configuration supporting multiple backends.

vector

vector.pgvector_dsn

I4G_VECTOR__PGVECTOR_DSN VECTOR_PGVECTOR_DSN VECTOR__PGVECTOR__DSN

str &#124; NoneType

None

Vector store configuration supporting multiple backends.

vector

vector.vertex_ai_branch

I4G_VECTOR__VERTEX_AI_BRANCH VECTOR_VERTEX_AI_BRANCH VECTOR__VERTEX_AI__BRANCH I4G_VERTEX_SEARCH_BRANCH

str

default_branch

Vector store configuration supporting multiple backends.

vector

vector.vertex_ai_data_store

I4G_VECTOR__VERTEX_AI_DATA_STORE VECTOR_VERTEX_AI_DATA_STORE VECTOR__VERTEX_AI__DATA_STORE I4G_VERTEX_SEARCH_DATA_STORE

str &#124; NoneType

None

Vector store configuration supporting multiple backends.

vector

vector.vertex_ai_index

I4G_VECTOR__VERTEX_AI_INDEX VECTOR_VERTEX_AI_INDEX VECTOR__VERTEX_AI__INDEX

str &#124; NoneType

None

Vector store configuration supporting multiple backends.

vector

vector.vertex_ai_location

I4G_VECTOR__VERTEX_AI_LOCATION VECTOR_VERTEX_AI_LOCATION VECTOR__VERTEX_AI__LOCATION I4G_VERTEX_SEARCH_LOCATION

str &#124; NoneType

us-central1

Vector store configuration supporting multiple backends.

vector

vector.vertex_ai_project

I4G_VECTOR__VERTEX_AI_PROJECT VECTOR_VERTEX_AI_PROJECT VECTOR__VERTEX_AI__PROJECT I4G_VERTEX_SEARCH_PROJECT

str &#124; NoneType

None

Vector store configuration supporting multiple backends.

vector

vector.vertex_ai_serving_config

I4G_VECTOR__VERTEX_AI_SERVING_CONFIG VECTOR_VERTEX_AI_SERVING_CONFIG VECTOR__VERTEX_AI__SERVING_CONFIG I4G_VERTEX_SEARCH_SERVING_CONFIG

str

default_search

Vertex AI Search serving config ID.

Last updated