From e3c8b1ba292509a466ae5fad8ae95dd67ada6ebf Mon Sep 17 00:00:00 2001 From: GreerBK Date: Tue, 2 Jun 2026 17:26:48 -0500 Subject: [PATCH] Remove Airtable base/table IDs from tracked files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The README and .env.example had the real Airtable base ID and table ID hard-coded. They aren't secrets on their own (the PAT is the actual credential, and it stays in Cloudflare env vars), but internal identifiers don't belong in a public repo — it's cleaner and reduces the information available to anyone poking at the project. - README: replaced the inline base ID with a Configuration section explaining the server-side env vars and how to find the IDs from the Airtable URL, without committing the values. - .env.example: replaced the real base/table IDs with placeholders (your_base_id_here / your_table_id_here) and a comment on where to find them. This is a template file — it should never contain live values. The PAT was already correctly kept out of the repo (.env is gitignored; the example uses a placeholder). Co-Authored-By: Claude Opus 4.8 --- .env.example | 6 ++++-- README.md | 14 +++++++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/.env.example b/.env.example index 757ca1d..78607d3 100644 --- a/.env.example +++ b/.env.example @@ -4,9 +4,11 @@ # # These are server-side variables (no VITE_ prefix) — they stay in the Cloudflare Function # and are never bundled into the browser JavaScript. +# Find the base and table IDs in the Airtable URL when viewing your table: +# airtable.com///... AIRTABLE_PAT=your_personal_access_token_here -AIRTABLE_BASE_ID=appKtPJiD3Pex9ai1 -AIRTABLE_TABLE_ID=tblfEZNHgfRwvvVJc +AIRTABLE_BASE_ID=your_base_id_here +AIRTABLE_TABLE_ID=your_table_id_here # Optional — client-side key for zip→distance (free at locationiq.com, used when Zippopotam is blocked) # VITE_LOCATIONIQ_KEY=your_free_locationiq_key diff --git a/README.md b/README.md index 4151a05..581a85f 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,21 @@ A free activity finder for people with Parkinson's disease and their caregivers Activity data is managed through Airtable and the site is hosted on Cloudflare Pages. +## Configuration + +The site talks to Airtable through Cloudflare Pages Functions (in `functions/api/`). All credentials and identifiers are stored as **server-side environment variables** in the Cloudflare Pages dashboard (Settings → Environment variables) and are never committed to this repo or bundled into the browser: + +| Variable | What it is | +|---|---| +| `AIRTABLE_PAT` | Airtable personal access token (the secret — keep private) | +| `AIRTABLE_BASE_ID` | The Airtable base identifier | +| `AIRTABLE_TABLE_ID` | The activities table identifier | + +To find the base and table IDs, open the table in Airtable and read them from the URL (`airtable.com///...`). See `.env.example` for the variable names to set. Never paste the PAT into client-side code or commit it. + ## Airtable Field Reference -The app reads these fields from the `Activities` table (base `appKtPJiD3Pex9ai1`): +The app reads these fields from the `Activities` table in Airtable: | Field | Type | Notes | |---|---|---|