← back to Secrets Manager
auto-save: 2026-07-20T12:32:08 (2 files) — registry.json routes.json
4bc9b1f22b0c260c082884413b60a9cbf667917a · 2026-07-20 12:32:08 -0700 · Steve Abrams
Files touched
M registry.jsonM routes.json
Diff
commit 4bc9b1f22b0c260c082884413b60a9cbf667917a
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Mon Jul 20 12:32:08 2026 -0700
auto-save: 2026-07-20T12:32:08 (2 files) — registry.json routes.json
---
registry.json | 10 +++++++
routes.json | 88 +++++++++++++++++++++++++++++++----------------------------
2 files changed, 57 insertions(+), 41 deletions(-)
diff --git a/registry.json b/registry.json
index e77a64a..03af840 100644
--- a/registry.json
+++ b/registry.json
@@ -1565,6 +1565,16 @@
"/Users/macstudio3/Projects/secrets-manager/.env",
"/Users/macstudio3/Projects/marketing-command-center/.env"
]
+ },
+ "DATAFORSEO_API_KEY": {
+ "digest": "ODZk:22b28379",
+ "label": "DataForSEO API key (base64 of login:api-password) — OpenSEO self-hosted backend for keyword/SERP/backlink/domain tools. Login steve@designerwallcoverings.com.",
+ "last_updated": "2026-07-20T19:12:12.869Z",
+ "validated": false,
+ "verify_status": null,
+ "written_to": [
+ "/Users/macstudio3/Projects/secrets-manager/.env"
+ ]
}
}
}
\ No newline at end of file
diff --git a/routes.json b/routes.json
index ac21b92..c5ab3a8 100644
--- a/routes.json
+++ b/routes.json
@@ -23,7 +23,7 @@
]
},
"REPLICATE_API_TOKEN": {
- "label": "Replicate API Token \u2014 wallco.ai SDXL gen fallback (WALLCO_COMFY_FALLBACK=replicate floor) + animate-museum-posts",
+ "label": "Replicate API Token — wallco.ai SDXL gen fallback (WALLCO_COMFY_FALLBACK=replicate floor) + animate-museum-posts",
"verify": {
"method": "GET",
"url": "https://api.replicate.com/v1/account",
@@ -267,7 +267,7 @@
]
},
"STRIPE_VCL_WEBHOOK_SECRET": {
- "label": "Stripe webhook signing secret \u2014 VCL endpoint we_1TUF1Y63uNmiRsMbNr1kLu52",
+ "label": "Stripe webhook signing secret — VCL endpoint we_1TUF1Y63uNmiRsMbNr1kLu52",
"destinations": [
{
"type": "project",
@@ -282,7 +282,7 @@
]
},
"STRIPE_PRICE_VCL_STARTER_MONTH": {
- "label": "Stripe Price ID \u2014 VCL Starter $49/mo",
+ "label": "Stripe Price ID — VCL Starter $49/mo",
"destinations": [
{
"type": "project",
@@ -297,7 +297,7 @@
]
},
"STRIPE_PRICE_VCL_STANDARD_MONTH": {
- "label": "Stripe Price ID \u2014 VCL Standard $99/mo",
+ "label": "Stripe Price ID — VCL Standard $99/mo",
"destinations": [
{
"type": "project",
@@ -312,7 +312,7 @@
]
},
"STRIPE_PRICE_VCL_PREMIER_MONTH": {
- "label": "Stripe Price ID \u2014 VCL Premier $199/mo",
+ "label": "Stripe Price ID — VCL Premier $199/mo",
"destinations": [
{
"type": "project",
@@ -327,7 +327,7 @@
]
},
"HEYGEN_API_KEY": {
- "label": "HeyGen API key \u2014 talking-head avatar video render (used by session-debrief skill)",
+ "label": "HeyGen API key — talking-head avatar video render (used by session-debrief skill)",
"verify": {
"method": "GET",
"url": "https://api.heygen.com/v1/voice.list",
@@ -358,7 +358,7 @@
]
},
"INFO_VENTURACLAW_COM_PASSWORD": {
- "label": "Purelymail mailbox password \u2014 info@venturaclaw.com (used by Ventura Claw Leads + the existing ventura-claw app)",
+ "label": "Purelymail mailbox password — info@venturaclaw.com (used by Ventura Claw Leads + the existing ventura-claw app)",
"destinations": [
{
"type": "project",
@@ -383,7 +383,7 @@
]
},
"INFO_NATIONALPAPERHANGERS_COM_PASSWORD": {
- "label": "Purelymail mailbox password \u2014 info@nationalpaperhangers.com",
+ "label": "Purelymail mailbox password — info@nationalpaperhangers.com",
"destinations": [
{
"type": "project",
@@ -398,7 +398,7 @@
]
},
"STRIPE_NPH_WEBHOOK_SECRET": {
- "label": "Stripe Webhook Signing Secret \u2014 NPH endpoint we_1TUDHV63uNmiRsMbRJea7EqU",
+ "label": "Stripe Webhook Signing Secret — NPH endpoint we_1TUDHV63uNmiRsMbRJea7EqU",
"destinations": [
{
"type": "project",
@@ -413,7 +413,7 @@
]
},
"STRIPE_PRICE_PRO_MONTH": {
- "label": "Stripe Price ID \u2014 NPH Pro $39/mo",
+ "label": "Stripe Price ID — NPH Pro $39/mo",
"destinations": [
{
"type": "project",
@@ -428,7 +428,7 @@
]
},
"STRIPE_PRICE_PRO_YEAR": {
- "label": "Stripe Price ID \u2014 NPH Pro $399/yr",
+ "label": "Stripe Price ID — NPH Pro $399/yr",
"destinations": [
{
"type": "project",
@@ -443,7 +443,7 @@
]
},
"STRIPE_PRICE_SIGNATURE_MONTH": {
- "label": "Stripe Price ID \u2014 NPH Signature $149/mo",
+ "label": "Stripe Price ID — NPH Signature $149/mo",
"destinations": [
{
"type": "project",
@@ -458,7 +458,7 @@
]
},
"STRIPE_PRICE_SIGNATURE_YEAR": {
- "label": "Stripe Price ID \u2014 NPH Signature $1500/yr",
+ "label": "Stripe Price ID — NPH Signature $1500/yr",
"destinations": [
{
"type": "project",
@@ -473,7 +473,7 @@
]
},
"STRIPE_PRICE_ENTERPRISE_MONTH": {
- "label": "Stripe Price ID \u2014 NPH Enterprise $399/mo",
+ "label": "Stripe Price ID — NPH Enterprise $399/mo",
"destinations": [
{
"type": "project",
@@ -670,7 +670,7 @@
]
},
"GEMINI_API_KEY_DW_ENRICH": {
- "label": "Google Gemini API Key \u2014 DEDICATED to DW image-enrichment / vendor-command-center. Created 2026-06-23 by vp-security as the rotation target for the leaked orphan keys (last-4 ejMo and S2ic, never registry-managed). Pre-staged EMPTY so that the moment Steve issues a fresh key at Google AI Studio, `add GEMINI_API_KEY_DW_ENRICH <new-key>` verifies it against Gemini and fans it (remapped to the bare var GEMINI_API_KEY) to the consumers below. Distinct from the master GEMINI_API_KEY (Letsbegin/Bertha/skills) and GEMINI_API_KEY_WALLCO (k720). If Steve prefers enrichment to ride the master key instead, he can skip this alias and update GEMINI_API_KEY directly \u2014 the env-ified consumers read GEMINI_API_KEY first.",
+ "label": "Google Gemini API Key — DEDICATED to DW image-enrichment / vendor-command-center. Created 2026-06-23 by vp-security as the rotation target for the leaked orphan keys (last-4 ejMo and S2ic, never registry-managed). Pre-staged EMPTY so that the moment Steve issues a fresh key at Google AI Studio, `add GEMINI_API_KEY_DW_ENRICH <new-key>` verifies it against Gemini and fans it (remapped to the bare var GEMINI_API_KEY) to the consumers below. Distinct from the master GEMINI_API_KEY (Letsbegin/Bertha/skills) and GEMINI_API_KEY_WALLCO (k720). If Steve prefers enrichment to ride the master key instead, he can skip this alias and update GEMINI_API_KEY directly — the env-ified consumers read GEMINI_API_KEY first.",
"verify": {
"method": "GET",
"url": "https://generativelanguage.googleapis.com/v1beta/models?key={value}",
@@ -693,7 +693,7 @@
]
},
"GEMINI_API_KEY_WALLCO": {
- "label": "Google Gemini API Key \u2014 DEDICATED to wallco.ai gen pipeline (nano-banana / gemini-2.5-flash-image fallback). Distinct from the master GEMINI_API_KEY (Letsbegin/Bertha/skills). Same dedicated-alias pattern as GEMINI_API_KEY_RALPH.",
+ "label": "Google Gemini API Key — DEDICATED to wallco.ai gen pipeline (nano-banana / gemini-2.5-flash-image fallback). Distinct from the master GEMINI_API_KEY (Letsbegin/Bertha/skills). Same dedicated-alias pattern as GEMINI_API_KEY_RALPH.",
"verify": {
"method": "GET",
"url": "https://generativelanguage.googleapis.com/v1beta/models?key={value}",
@@ -897,8 +897,8 @@
]
},
"LINKEDIN_CLIENT_ID": {
- "label": "LinkedIn OAuth Client ID \u2014 \"For Claude - 5-6-26\" app, bound to Designer Wallcoverings Page",
- "_note": "No verify endpoint \u2014 LinkedIn requires the ID+SECRET pair to validate, and the CLI verifies one key at a time. Manual probe via POST /oauth/v2/accessToken with a fake code expects 'invalid_request: authorization code not found' = creds OK.",
+ "label": "LinkedIn OAuth Client ID — \"For Claude - 5-6-26\" app, bound to Designer Wallcoverings Page",
+ "_note": "No verify endpoint — LinkedIn requires the ID+SECRET pair to validate, and the CLI verifies one key at a time. Manual probe via POST /oauth/v2/accessToken with a fake code expects 'invalid_request: authorization code not found' = creds OK.",
"destinations": [
{
"type": "project",
@@ -912,7 +912,7 @@
]
},
"LINKEDIN_CLIENT_SECRET": {
- "label": "LinkedIn OAuth Client Secret \u2014 \"For Claude - 5-6-26\" app, bound to Designer Wallcoverings Page",
+ "label": "LinkedIn OAuth Client Secret — \"For Claude - 5-6-26\" app, bound to Designer Wallcoverings Page",
"destinations": [
{
"type": "project",
@@ -926,7 +926,7 @@
]
},
"GOOGLE_OAUTH_CLIENT_ID": {
- "label": "Google OAuth Client ID \u2014 DW Activation Calendar (shared DW Google Calendar, local :9765)",
+ "label": "Google OAuth Client ID — DW Activation Calendar (shared DW Google Calendar, local :9765)",
"destinations": [
{
"type": "project",
@@ -935,7 +935,7 @@
]
},
"GOOGLE_OAUTH_CLIENT_SECRET": {
- "label": "Google OAuth Client Secret \u2014 DW Activation Calendar (shared DW Google Calendar, local :9765)",
+ "label": "Google OAuth Client Secret — DW Activation Calendar (shared DW Google Calendar, local :9765)",
"destinations": [
{
"type": "project",
@@ -944,7 +944,7 @@
]
},
"NPH_GOOGLE_OAUTH_CLIENT_ID": {
- "label": "Google OAuth Client ID \u2014 buyer sign-in on National Paper Hangers",
+ "label": "Google OAuth Client ID — buyer sign-in on National Paper Hangers",
"destinations": [
{
"type": "project",
@@ -958,7 +958,7 @@
]
},
"NPH_GOOGLE_OAUTH_CLIENT_SECRET": {
- "label": "Google OAuth Client Secret \u2014 buyer sign-in on National Paper Hangers",
+ "label": "Google OAuth Client Secret — buyer sign-in on National Paper Hangers",
"destinations": [
{
"type": "project",
@@ -1216,7 +1216,7 @@
]
},
"SLACK_APP_ID": {
- "label": "Slack app \"Claude Access to Slack\" \u2014 App ID (A0BDER23QRK). Not secret but registered for completeness.",
+ "label": "Slack app \"Claude Access to Slack\" — App ID (A0BDER23QRK). Not secret but registered for completeness.",
"destinations": [
{
"type": "env_file",
@@ -1225,7 +1225,7 @@
]
},
"SLACK_CLIENT_ID": {
- "label": "Slack app Client ID \u2014 used with Client Secret in oauth.v2.access requests.",
+ "label": "Slack app Client ID — used with Client Secret in oauth.v2.access requests.",
"destinations": [
{
"type": "env_file",
@@ -1234,7 +1234,7 @@
]
},
"SLACK_CLIENT_SECRET": {
- "label": "Slack app Client Secret \u2014 OAuth token exchange (oauth.v2.access). NOT the bot token.",
+ "label": "Slack app Client Secret — OAuth token exchange (oauth.v2.access). NOT the bot token.",
"destinations": [
{
"type": "env_file",
@@ -1243,7 +1243,7 @@
]
},
"SLACK_SIGNING_SECRET": {
- "label": "Slack app Signing Secret \u2014 verifies inbound request signatures from Slack (events/interactivity).",
+ "label": "Slack app Signing Secret — verifies inbound request signatures from Slack (events/interactivity).",
"destinations": [
{
"type": "env_file",
@@ -1252,7 +1252,7 @@
]
},
"SLACK_VERIFICATION_TOKEN": {
- "label": "Slack DEPRECATED verification token \u2014 legacy request verification. Prefer SLACK_SIGNING_SECRET.",
+ "label": "Slack DEPRECATED verification token — legacy request verification. Prefer SLACK_SIGNING_SECRET.",
"destinations": [
{
"type": "env_file",
@@ -1261,7 +1261,7 @@
]
},
"SLACK_APP_TOKEN": {
- "label": "Slack app-level token (xapp-1-\u2026) for Socket Mode \u2014 connections:write. Routes events over WebSocket. NOT the bot token (xoxb-).",
+ "label": "Slack app-level token (xapp-1-…) for Socket Mode — connections:write. Routes events over WebSocket. NOT the bot token (xoxb-).",
"destinations": [
{
"type": "env_file",
@@ -1270,7 +1270,7 @@
]
},
"CENSUS_API_KEY": {
- "label": "US Census Bureau Data API key \u2014 demographics fetcher for commercialrealestate (ACS5 by ZCTA). NOTE: Census API returns 302-redirect on a valid data query so the secrets verifier cannot probe it; verify manually via an ACS5 curl.",
+ "label": "US Census Bureau Data API key — demographics fetcher for commercialrealestate (ACS5 by ZCTA). NOTE: Census API returns 302-redirect on a valid data query so the secrets verifier cannot probe it; verify manually via an ACS5 curl.",
"destinations": [
{
"type": "env_file",
@@ -1279,7 +1279,7 @@
]
},
"POSTIZ_API_KEY": {
- "label": "Postiz public API key (raw Authorization header) \u2014 DW marketing slideshow engine (post/integrations) + Postiz MCP",
+ "label": "Postiz public API key (raw Authorization header) — DW marketing slideshow engine (post/integrations) + Postiz MCP",
"destinations": [
{
"type": "project",
@@ -1288,7 +1288,7 @@
]
},
"X_API_KEY": {
- "label": "X (Twitter) API v2 \u2014 Consumer/API key (app auth). Pairs with X_API_SECRET to mint app-only bearers.",
+ "label": "X (Twitter) API v2 — Consumer/API key (app auth). Pairs with X_API_SECRET to mint app-only bearers.",
"destinations": [
{
"type": "project",
@@ -1297,7 +1297,7 @@
]
},
"X_API_SECRET": {
- "label": "X (Twitter) API v2 \u2014 Consumer/API secret. With X_API_KEY mints app-only bearer via oauth2/token.",
+ "label": "X (Twitter) API v2 — Consumer/API secret. With X_API_KEY mints app-only bearer via oauth2/token.",
"destinations": [
{
"type": "project",
@@ -1306,7 +1306,7 @@
]
},
"X_BEARER_TOKEN": {
- "label": "X (Twitter) API v2 \u2014 app-only Bearer token (use RAW/as-issued; contains %-encoded chars).",
+ "label": "X (Twitter) API v2 — app-only Bearer token (use RAW/as-issued; contains %-encoded chars).",
"verify": {
"method": "GET",
"url": "https://api.twitter.com/2/tweets?ids=20",
@@ -1423,7 +1423,7 @@
]
},
"GOOGLE_DRIVE_CLIENT_ID": {
- "description": "Google Drive OAuth Client ID \u2014 TSD photo-import-cli desktop app",
+ "description": "Google Drive OAuth Client ID — TSD photo-import-cli desktop app",
"destinations": [
{
"type": "env-file",
@@ -1432,7 +1432,7 @@
]
},
"GOOGLE_DRIVE_CLIENT_SECRET": {
- "description": "Google Drive OAuth Client Secret \u2014 TSD photo-import-cli",
+ "description": "Google Drive OAuth Client Secret — TSD photo-import-cli",
"destinations": [
{
"type": "env-file",
@@ -1441,7 +1441,7 @@
]
},
"GOOGLE_DRIVE_REFRESH_TOKEN": {
- "description": "Google Drive OAuth refresh token \u2014 read-only scope, owned by steveabramsdesigns@gmail.com",
+ "description": "Google Drive OAuth refresh token — read-only scope, owned by steveabramsdesigns@gmail.com",
"destinations": [
{
"type": "env-file",
@@ -1480,7 +1480,7 @@
]
},
"TMDB_API_KEY": {
- "label": "TMDB v3 API key \u2014 asseeninmovies Phase B drain (6.46M-stub queue)",
+ "label": "TMDB v3 API key — asseeninmovies Phase B drain (6.46M-stub queue)",
"verify": {
"method": "GET",
"url": "https://api.themoviedb.org/3/authentication?api_key=__VALUE__",
@@ -1492,7 +1492,7 @@
]
},
"TMDB_READ_ACCESS_TOKEN": {
- "label": "TMDB v4 read-access token (bearer) \u2014 alt to v3 api_key",
+ "label": "TMDB v4 read-access token (bearer) — alt to v3 api_key",
"verify": {
"method": "GET",
"url": "https://api.themoviedb.org/3/authentication",
@@ -1554,7 +1554,7 @@
]
},
"SHOPIFY_DRAFT_TOKEN": {
- "label": "Shopify Admin token (full access incl. write_draft_orders) \u2014 DW mural PDP custom-size checkout",
+ "label": "Shopify Admin token (full access incl. write_draft_orders) — DW mural PDP custom-size checkout",
"destinations": [
{
"type": "project",
@@ -1757,5 +1757,11 @@
"key": "THREADS_USER_ID"
}
]
+ },
+ "DATAFORSEO_API_KEY": {
+ "label": "DataForSEO API key (base64 of login:api-password) — OpenSEO self-hosted backend for keyword/SERP/backlink/domain tools. Login steve@designerwallcoverings.com.",
+ "destinations": [
+ "/Users/macstudio3/Projects/open-seo/.env.local"
+ ]
}
-}
\ No newline at end of file
+}
← 2c94ffa auto-save: 2026-07-20T10:01:15 (2 files) — registry.json rou
·
back to Secrets Manager
·
auto-save: 2026-07-20T13:32:24 (1 files) — registry.json be72efe →