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 python scripts/export_settings_manifest.py (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 (Firestore, Cloud Storage, Vertex AI) are reachable.

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

This catalog is assembled by proto/scripts/export_settings_manifest.py 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

account_list

account_list.api_key

I4G_ACCOUNT_LIST__API_KEY ACCOUNT_LIST_API_KEY ACCOUNT_LIST__API_KEY

str | NoneType

None

Account list extraction configuration.

account_list

account_list.artifact_prefix

I4G_ACCOUNT_LIST__ARTIFACT_PREFIX ACCOUNT_LIST_ARTIFACT_PREFIX ACCOUNT_LIST__ARTIFACT_PREFIX

str

account_list

Account list extraction configuration.

account_list

account_list.default_formats

I4G_ACCOUNT_LIST__DEFAULT_FORMATS ACCOUNT_LIST_DEFAULT_FORMATS ACCOUNT_LIST__DEFAULT_FORMATS

list[str]

[]

Account list extraction configuration.

account_list

account_list.drive_folder_id

I4G_ACCOUNT_LIST__DRIVE_FOLDER_ID ACCOUNT_LIST_DRIVE_FOLDER_ID ACCOUNT_LIST__DRIVE_FOLDER_ID

str | NoneType

None

Account list extraction configuration.

account_list

account_list.enable_vector

I4G_ACCOUNT_LIST__ENABLE_VECTOR ACCOUNT_LIST_ENABLE_VECTOR ACCOUNT_LIST__ENABLE_VECTOR

bool

True

Account list extraction configuration.

account_list

account_list.enabled

I4G_ACCOUNT_LIST__ENABLED ACCOUNT_LIST_ENABLED ACCOUNT_LIST__ENABLED

bool

True

Account list extraction configuration.

account_list

account_list.header_name

I4G_ACCOUNT_LIST__HEADER_NAME ACCOUNT_LIST_HEADER_NAME ACCOUNT_LIST__HEADER_NAME

str

X-ACCOUNTLIST-KEY

Account list extraction configuration.

account_list

account_list.max_top_k

I4G_ACCOUNT_LIST__MAX_TOP_K ACCOUNT_LIST_MAX_TOP_K ACCOUNT_LIST__MAX_TOP_K

int

250

Account list extraction configuration.

account_list

account_list.require_api_key

I4G_ACCOUNT_LIST__REQUIRE_API_KEY ACCOUNT_LIST_REQUIRE_API_KEY ACCOUNT_LIST__REQUIRE_API_KEY

bool

True

Account list extraction configuration.

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.key

I4G_API__KEY API_KEY API__KEY

str

dev-analyst-token

API endpoint configuration shared by CLI + dashboards.

data_dir

data_dir

I4G_DATA_DIR

Path

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

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

env

env

I4G_ENV ENV ENVIRONMENT RUNTIME__ENV

str

local

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

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.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.

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

Path

/Users/jerry/Work/project/i4g/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 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_firestore

I4G_INGESTION__ENABLE_FIRESTORE INGEST_ENABLE_FIRESTORE INGEST__ENABLE_FIRESTORE INGESTION_ENABLE_FIRESTORE INGESTION__ENABLE_FIRESTORE

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.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.

llm

llm.chat_model

I4G_LLM__CHAT_MODEL LLM_CHAT_MODEL LLM__CHAT_MODEL

str

llama3

Large language model provider settings.

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', 'mock']

ollama

Large language model provider settings.

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_model

I4G_LLM__VERTEX_AI_MODEL LLM_VERTEX_AI_MODEL LLM__VERTEX_AI__MODEL

str | NoneType

None

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.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.

project_root

project_root

I4G_PROJECT_ROOT

Path

/Users/jerry/Work/project/i4g

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

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).

storage

storage.cloudsql_database

I4G_STORAGE__CLOUDSQL_DATABASE CLOUDSQL_DATABASE STORAGE__CLOUDSQL__DATABASE

str &#124; NoneType

None

Structured + blob storage configuration.

storage

storage.cloudsql_instance

I4G_STORAGE__CLOUDSQL_INSTANCE CLOUDSQL_INSTANCE STORAGE__CLOUDSQL__INSTANCE

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/data/evidence

Structured + blob storage configuration.

storage

storage.firestore_collection

I4G_STORAGE__FIRESTORE_COLLECTION FIRESTORE_COLLECTION STORAGE__FIRESTORE__COLLECTION

str

cases

Structured + blob storage configuration.

storage

storage.firestore_project

I4G_STORAGE__FIRESTORE_PROJECT FIRESTORE_PROJECT STORAGE__FIRESTORE__PROJECT

str &#124; NoneType

None

Structured + blob storage configuration.

storage

storage.reports_bucket

I4G_STORAGE__REPORTS_BUCKET

str &#124; NoneType

None

Structured + blob storage configuration.

storage

storage.sqlite_path

I4G_STORAGE__SQLITE_PATH

Path

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

Structured + blob storage configuration.

storage

storage.structured_backend

I4G_STORAGE__STRUCTURED_BACKEND STRUCTURED_BACKEND STORAGE__STRUCTURED_BACKEND

Literal['sqlite', 'firestore', 'cloudsql']

sqlite

Structured + blob storage configuration.

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/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/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.

Last updated