-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
96 lines (82 loc) · 4.87 KB
/
Copy path.env.example
File metadata and controls
96 lines (82 loc) · 4.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# Use each catalog deployment's *.vercel.app URL — never api.fides.community here
# (avoids a proxy loop when this gateway serves api.fides.community).
FIDES_CREDENTIAL_CATALOG_ORIGIN=https://your-credential-catalog.vercel.app
FIDES_ORGANIZATION_CATALOG_ORIGIN=https://your-organization-catalog.vercel.app
FIDES_ISSUER_CATALOG_ORIGIN=https://your-issuer-catalog.vercel.app
FIDES_WALLET_CATALOG_ORIGIN=https://your-wallet-catalog.vercel.app
FIDES_RP_CATALOG_ORIGIN=https://your-rp-catalog.vercel.app
FIDES_USE_CASE_CATALOG_ORIGIN=https://your-use-case-catalog.vercel.app
# Public origin of this gateway, used by the MCP tools to build canonical links
# returned to LLM clients. Defaults to https://api.fides.community when unset.
GATEWAY_PUBLIC_ORIGIN=https://api.fides.community
# --- MCP endpoint hardening (api/mcp.ts) ---
# Comma-separated host suffixes allowed as a browser Origin on /api/mcp.
# Server-to-server clients (ChatGPT/Claude cloud) send no Origin and are always
# allowed. Leave unset to use the built-in default list of known AI hosts.
# MCP_ALLOWED_ORIGINS=chatgpt.com,openai.com,claude.ai,anthropic.com
# Best-effort per-IP requests/minute on /api/mcp (0 disables). Default 120.
# For durable, global limits use the Vercel Firewall or Upstash Redis.
# MCP_RATE_LIMIT_PER_MIN=120
# --- Server-side usage analytics (Matomo, privacy-friendly) ---
# Counts how often the API/MCP/assistant are used, via the Matomo HTTP Tracking
# API. Cookieless, no IP override, no User-Agent override (so no token_auth is
# needed), and NO free-text queries are sent — only event counts, the tool/
# catalog, and a coarse client label (chatgpt/claude/…). No-op unless URL +
# site id are set. Disable with MATOMO_ENABLED=0.
# MATOMO_URL=https://fidescommunity.matomo.cloud
# MATOMO_SITE_ID=1
# MATOMO_ENABLED=1
# Optional: a Matomo Custom Dimension id to receive the client label.
# MATOMO_CLIENT_DIMENSION_ID=1
# Public FIDES website origin (human Explorer pages + WordPress REST API used by
# the site-content search tool). Defaults to https://fides.community when unset.
# FIDES_SITE_ORIGIN=https://fides.community
# Shared vocabulary/glossary source for the `explain_terms` MCP tool. Defaults to
# the raw GitHub URL of FIDEScommunity/fides-interop-profiles data/vocabulary.json
# (the same source the WordPress catalog plugins consume). Override to pin a
# different host/branch or a self-hosted copy.
# FIDES_VOCABULARY_URL=https://raw.githubusercontent.com/FIDEScommunity/fides-interop-profiles/main/data/vocabulary.json
# --- Phase 2: homepage conversational interface (POST /api/chat) ---------------
# LLM provider for the homepage assistant. The adapter targets the
# OpenAI-compatible /chat/completions API, so "mistral" (EU/GDPR default),
# "openai", and "azure" all work. Switching provider is env-only: keep the
# per-provider keys below set and just change LLM_PROVIDER + LLM_MODEL.
LLM_PROVIDER=mistral
# Model id. Defaults per provider (mistral -> mistral-large-latest,
# openai -> gpt-5-mini).
LLM_MODEL=mistral-large-latest
# API keys (server-side only — never expose in WordPress or the browser).
# A provider-specific key wins; LLM_API_KEY is a generic fallback. Keeping both
# provider keys set lets you flip LLM_PROVIDER without re-pasting a key.
MISTRAL_API_KEY=
OPENAI_API_KEY=
# AZURE_OPENAI_API_KEY=
# LLM_API_KEY=
# Optional base URL override (required for Azure: full deployment URL).
# LLM_BASE_URL=https://api.mistral.ai/v1
# Sampling temperature. Default 0.2. Set to "none" to omit it entirely — needed
# for OpenAI gpt-5 reasoning models, which only accept the default temperature.
# LLM_TEMPERATURE=0.2
# Cost controls for the public, unauthenticated chat endpoint.
CHAT_RATE_LIMIT_PER_MIN=20
# Global daily approximate-token budget. 0 / unset disables the cap.
CHAT_DAILY_TOKEN_BUDGET=2000000
# Comma-separated browser origins allowed to call /api/chat. Empty = "*".
# CHAT_ALLOWED_ORIGINS=https://fides.community,https://www.fides.community
# WordPress site-content search tool (answers conceptual questions like
# "what is a business wallet" from the FIDES website over the WP REST API).
# Enabled by default. Kill switch: set to 0 (or false/off/no) to remove the
# tool entirely, so the chat falls back to catalog-only answers.
# CHAT_SITE_CONTENT_ENABLED=1
# Optional Upstash Redis (REST) for accurate cross-instance rate limiting and
# the daily budget. Falls back to per-instance in-memory counters when unset.
# Also used to store anonymous chat usage logs (see below).
# UPSTASH_REDIS_REST_URL=
# UPSTASH_REDIS_REST_TOKEN=
# Anonymous chat usage logging (requires Upstash above). Stores, per turn, the
# question text + lightweight metadata (no IP, no answer text) in a per-day list
# `chat:log:YYYY-MM-DD`, so the team can see what visitors ask. Set to 0 to
# disable. Retention auto-expires the daily list; the list is capped per day.
# CHAT_LOG_ENABLED=1
# CHAT_LOG_RETENTION_DAYS=90
# CHAT_LOG_MAX_PER_DAY=5000