Kickstart Data Map
CARL roadmap item 5.1
As of November 15, 2026
Plan Design Consultants · CARL

Kickstart today.
Where the data lives.

A map of every place Kickstart keeps or reads data, how the data gets there, and what to know before any of it moves into the next version with the CRM.
Roadmap item 5.1Kickstart v74.8 liveChecked Nov 15, 2026

1At a glance

Kickstart's data sits in four places. Kickstart itself is a single web page that holds nothing; it reaches each place through a small service.

Cloudflare KV
Saved plan work

Everything a staff member has loaded and done for a plan, including census detail. One saved file per save. Section 5

Airtable
The plan record

The plan directory, plan-year tracking, the team roster and alerts. No participant data. Section 6

Box
Source files

Adoption agreements, census files and recordkeeper downloads. Kickstart is not connected to it. Section 7

The browser
Work in progress

Files are read and checked in the browser tab. Gone when the tab closes unless saved. Section 9

The short answers

Is Cloudflare used? Yes: the page, the services, and the saves. Is D1 used? Not for plan data. D1 only holds public Form 5500 filings that Kickstart looks up. Is Box used? For keeping files, yes. Kickstart does not read from it or write to it.

2The picture

Solid arrows are connections Kickstart makes. The dashed arrow is a person carrying a file by hand.

IN THE BROWSER CLOUDFLARE SERVICES WHERE THE DATA SITS Kickstart page One web page on Cloudflare Pages. Reads and checks files here. Holds no data of its own. kickstart-savesave, load, list, delete kickstart-directoryplan search and lookup kickstart-alertsteam roster and the bell form5500-lookupprior-year 5500 figures adoptk-visionreads the adoption agreement Cloudflare KVsaved plan work, incl. census detail Airtable, PDC baseplans, plan years, team, alertsno participant data Cloudflare D1public Form 5500 filings AI model (outside)reads the PDF, returns the fields Boxsource files, kept by people a person picks the files and loads them by hand
Back to top

3Where each kind of data lives

This is the table to start from. Each row links to the section with the detail.

DataWhere it livesHow it gets thereGood to know
Saved plan work: current and prior census, recordkeeper balances, questionnaire answers, adoption agreement fields, corrections, screen stateCloudflare KV, namespace kickstart-save. One file per save. Section 5A staff member saves in Kickstart, or Kickstart saves once when validation passes.Holds names, SSNs and pay. Each save expires after 90 days.
Plan directory and plan-year trackingAirtable, PDC base. Section 6Kept up outside Kickstart. Kickstart only reads it.Plan-level only. Used to show the plan banner, never as an input to a filing.
Team roster and alerts (the bell)Airtable, PDC base: PDC Team and Alerts tables.Kickstart reads the roster, and reads and writes alerts.The one place Kickstart writes to Airtable.
Source files: adoption agreements, census files, recordkeeper downloads, samplesBox, Kickstart folder. Section 7Put there by people.Kickstart is not connected to Box. Airtable stores each plan's Box folder link.
Prior-year Form 5500 figuresCloudflare D1, Form 5500 database. Section 8Loaded from the public DOL data set.Public data. Read-only.
Files being worked on right nowThe browser tab, in memory. Section 9Read in the browser when a file is chosen.Gone when the tab closes unless saved. The adoption agreement PDF is the exception: it is sent out to be read by an AI model.
Small conveniences: contacts, metrics, validation and questionnaire draftsThe browser's local storage, on that one computer.Written by Kickstart as the person works.Not shared between computers.
Back to top

4A plan's trip through Kickstart

Following one plan from start to finish shows which store each step touches.

  1. Find the plan.The staff member searches by plan name, sponsor or EIN. Kickstart shows a banner with the plan's basics.
    Reads Airtable through kickstart-directory
  2. Load the files.They choose the adoption agreement, the questionnaire, the prior-year census, the current-year census and the recordkeeper download from their computer. The files usually come out of the plan's Box folder first.
    Browser only
  3. Read the adoption agreement.The PDF is sent to a service that has an AI model pull out the plan provisions.
    Leaves the browser: adoptk-vision, then an AI model
  4. Look up last year's 5500.Kickstart fetches the prior-year filing figures for the plan's EIN.
    Reads D1 through form5500-lookup
  5. Confirm, validate and correct.Kickstart checks the census, ties it to the recordkeeper balances, and the staff member fixes what needs fixing.
    Browser only
  6. Save.The whole working state is written as one saved file. Kickstart also saves once on its own when validation passes.
    Writes KV through kickstart-save
  7. Come back later.Opening a save loads that file back into the browser and puts the person where they left off.
    Reads KV through kickstart-save
  8. Send a note to a teammate.The bell sends a task or note to another team member.
    Writes Airtable through kickstart-alerts
  9. Produce the outputs.The 5500 figures, the 8955-SSA list, the force-out list, the RMD list and the ASC export are built in the browser and downloaded to the person's computer.
    Browser only
Back to top

5Cloudflare KV: saved plan work

KV is a simple store: a name goes in with a value, and the same name gets the value back. Kickstart uses it to keep each save as one file.

How a save is stored

Namespacekickstart-save (ID 873021be02b44ccda64295aaa9150580)
Name of each saveEIN_year_timestamp, for example 832677397_2025_…. A second copy named EIN_year_latest always points at the newest save for that plan and year.
What is storedA wrapper (name, label, when it was saved, app version, plan name, plan year, EIN, size) around the full working state.
How long it is kept90 days from the save. After that Cloudflare deletes it.
How many there are55 saves across 13 plans on Nov 14, 2026.

What is inside a save

GroupWhat it holdsParticipant detail?
QuestionnaireThe PRQ answers and the file name.No
Prior-year censusEvery row and column of the file, plus the row count and file name.Yes
Current-year censusEvery row and column, the raw file text, the column mapping, the row count and file name.Yes
Recordkeeper balancesOne line per participant with balances and money types, plus plan totals.Yes
Adoption agreementThe fields pulled from the document and the plan's eligibility rules.No
ValidationThe result and whether it passed.Yes (findings name people)
Staff decisionsData corrections, ownership and family groups, name links, eligibility overrides, 8955-SSA confirmations.Yes
HousekeepingApp version, build date, plan year, contacts, which screen the person was on.No
Important

This is the only place in the setup that holds SSNs and pay at rest. It is also the only copy of the staff member's corrections and decisions. Because saves expire after 90 days, none of it is permanent.

Back to top

6Airtable: the plan record

One Airtable base, the PDC base (ID appRcNScOvJoSppiS), holds everything about plans that is not participant data. It has 14 tables.

TableWhat it isFieldsUsed by Kickstart?
PDC PlansOne row per plan: plan and sponsor name, EIN, last filed 5500 figures, recordkeeper, Box folder link.66Read (search and banner)
Plan YearsOne row per plan per year: which documents are in, counts, eligibility provisions, prior questionnaire answers, recordkeeper and contract number, save key.81Read (banner)
RecordkeepersRecordkeeper names and file format.4Read
PDC TeamStaff names, emails, titles and roles.16Read (sign-in picker, contact)
AlertsNotes and tasks sent between staff from the bell.12Read and write
PDC ClientsThe client list: client ID, plan type, safe harbor, investment company, EINs from ASC and the CRM.26No
PRQ ResponsesQuestionnaire submissions.77No
Adoption Agreements (ASC)Plan provisions as held in ASC.156No
PDC AdvisorsAdvisor contacts.11No
Workflow Templates, Template Tasks, Projects, Project TasksTask tracking for staff workflows.8, 6, 12, 18No
Edit LogA record of changes made to the base.14No

"Used by Kickstart" means the Kickstart page reaches that table through one of its services. The PDC Portal, a separate page, reads and writes this same base.

Good to know

What Kickstart reads from Airtable is for orientation only. Anything that lands on a filing comes from the adoption agreement, the questionnaire or the census, never from the directory.

Table IDs

PDC Planstblclk0N1hsNoS2NPPlan Yearstbl4uEAFEflu4aWzc
Recordkeeperstblk84ioovMtLVIEIPDC TeamtblF40egZen0IqgUd
Alertstblvm8RhebZqPpynLPDC Clientstbl3RD5LokskH6UsA
PRQ ResponsestblgE2x0XcOKHRbS5Adoption Agreements (ASC)tblwyI3boGn3JtEmp
PDC AdvisorstblaAJpik8yTdul3XEdit LogtblkkBpolFL3LWBUi
Projectstbl0rGFOUbmfetYssProject TaskstblwCsTCvJi9FbxvL
Workflow TemplatestbleWyL0QoesounprTemplate TaskstblE1lEvXxjES6745
Back to top

7Box: source files

Box is where the original files are kept. Kickstart has no connection to it: nothing in the Kickstart page calls Box.

FolderWhat is in it
Kickstart (top folder)Sample and test files: the Anello Photonics test set, recordkeeper sample files, a few plan zip files.
Kickstart / Plan Files66 plan folders.
Kickstart / RK File SchemasTwo write-ups of the John Hancock file layout.
Kickstart / Rule SpecsNot opened for this document.
Kickstart / kfor1-submissions, STable(k)Folders for other projects. Not opened for this document.

The link between a plan and its Box folder is a field in Airtable (PDC Plans has a Box folder link; Plan Years has one for the year).

Back to top

8Cloudflare D1: Form 5500 lookup

D1 is Cloudflare's database (tables and rows, queried with SQL). Kickstart uses it for one thing: looking up a plan's prior-year Form 5500 figures.

What it holdsPublic Form 5500 filings from the DOL, in a table named sf_filings.
What Kickstart asks forBy EIN (and optionally year and plan number): participant counts, account balance counts, assets at the start and end of the year, employer and employee contributions, distributions, bond amount, plan codes.
DirectionRead-only. Kickstart never writes to it.
Databases in the accountform5500 and form5500_v2. Which of the two the lookup service is connected to was not confirmed.
Back to top

9The browser

Most of Kickstart's work happens in the staff member's browser tab and goes nowhere else.

  • In memory. The files a person loads are read and checked in the tab. Closing the tab without saving loses them.
  • Local storage. A few small items are kept on that computer between visits: contacts, metrics, validation state and questionnaire drafts, each stored per plan.
  • What leaves the browser. A save (to KV), a plan search term (to Airtable), an EIN (to the 5500 lookup), an alert (to Airtable), and the adoption agreement PDF (to an AI model).
Back to top

10The services

Kickstart is one HTML file on Cloudflare Pages at kickstart-ci1.pages.dev. Each thing it stores or looks up goes through a Cloudflare Worker. All of them are in Tony's Cloudflare account, at addresses ending .tony-e07.workers.dev.

ServiceWhat it doesWhat it offersWhat it touches
kickstart-saveKeeps and returns saves.Save, load one save, list saves, delete a save, health check.KV namespace kickstart-save. Nothing else.
kickstart-directoryFinds plans and returns one plan with its plan years.Search plans, get one plan, health check.Airtable, read-only: PDC Plans, Plan Years, Recordkeepers, PDC Team.
kickstart-alertsRuns the bell.List the team, list alerts, create an alert, mark an alert read or done.Airtable, read and write: PDC Team, Alerts.
form5500-lookupReturns prior-year 5500 figures.One lookup by EIN.D1 Form 5500 database, read-only.
adoptk-visionReads the adoption agreement PDF.Not re-read for this document.Sends the PDF to an AI model.
parsek-api, chatk-api, carl-api-proxyText extraction and the Ask (k)arl chat.Not read for this document.Not confirmed.
Access

The save, directory and alerts services check only that a request carries a particular header. They do not check who is asking. That was acceptable for an internal tool. It is not enough for anything a client can reach.

Back to top

11What is not used

  • D1 for plan data. No Kickstart plan, census or questionnaire data is in D1. A database named pdc-prq exists in the account, but it is empty: it has no tables.
  • R2 file storage. The account has two R2 buckets and neither belongs to Kickstart.
  • Box from inside Kickstart. Box is where files are kept, but Kickstart does not read or write it.
Back to top

12Before moving it

Seven things that shape any decision about where this goes next.

WhatWhy it matters
Saves expire after 90 daysA plan nobody re-saves disappears from KV. Anything that should be kept needs a permanent home.
A save is one file, not rowsNothing can look across plans (for example, every participant at one recordkeeper) without opening each save in turn.
Participant detail sits in KVIt is the only store here holding SSNs and pay. Wherever it goes next needs to be chosen for that.
Access checks are lightThe services check for a header, not a person. This has to change before clients are let in.
Everything is in Tony's Cloudflare accountThe page, the services, the KV namespace and the Form 5500 database either move together or are rebuilt on the PDC side.
Airtable's save key can lagPlan Years has a field pointing at a save, but KV is the true list of saves.
A newer build is waitingLive Kickstart is v74.8. Version 75.0, which adds the recordkeeper file readers, is built and tested but not deployed.
Back to top

13Open questions

For the CRM version. These are decisions, not findings.

  • Where should participant detail live long-term: rows in a database, or saved files as today?
  • Does the CRM replace Airtable as the plan record, or sit beside it?
  • Do source files stay in Box, or move to Cloudflare as roadmap item 5.9 describes?
  • Which Cloudflare account owns the services going forward?
Back to top

14How this was checked

Everything above was checked against the live systems on November 15, 2026, not written from memory.

Checked
  • The deployed source of kickstart-save, kickstart-directory, kickstart-alerts and form5500-lookup.
  • The list of KV namespaces, D1 databases and R2 buckets in the Cloudflare account.
  • The table list of the Airtable PDC base.
  • The contents of the Box Kickstart folder.
  • Every outside address the Kickstart page calls, and what it puts into a save (v74.8 and v75.0).
Not checked
  • adoptk-vision was changed on Nov 15 and was not re-read. In August it sent the PDF to an AI provider and stored nothing.
  • parsek-api, chatk-api and carl-api-proxy were not read.
  • What writes the save key fields on Plan Years.
  • Which Form 5500 database the lookup is connected to.
  • Record counts in Airtable. Two of the 66 Box plan folders were opened, and both were empty.
Back to top

15Glossary

Cloudflare PagesWhere a web page is hosted. Kickstart is one file on Pages.
WorkerA small program running on Cloudflare that a web page can call. Each Kickstart service is one Worker.
KVCloudflare's simple store: a name and a value. Good for whole files, not for searching.
D1Cloudflare's database, with tables and rows that can be searched.
R2Cloudflare's file storage. Not used by Kickstart.
Airtable baseA set of linked tables in Airtable. The PDC base is the one described here.
SaveOne stored copy of everything loaded and done for a plan year in Kickstart.
PRQThe annual plan questionnaire the client fills in.
ASCThe plan administration system PDC uses today.
Back to top
Plan Design Consultants, Inc. · 3451 Via Montebello, Suite 192-108, Carlsbad, CA 92009 · 650-341-3322 · plandesign.com
smart . easy . awesome.