Docs Index
synccentral.md

Squire Product Card: SyncCentral

Owner: Preston Stratford Squire-side status: ~40+ deployments (largest by deployment count of the six products) Last reviewed: 2026-06-02 · git sha f5114da

What it does today

SyncCentral is Squire's generic ERP integration platform — "connect anything to NetSuite." Architecture: NetSuite scripts call Azure every 15 minutes; Azure calls the external system, transforms the payload, and returns it to NetSuite, which then attempts to create or update the record. Azure is pass-through transformation only — never stores data (a hard architectural constraint after a prior incident with Azure Data Factory holding data). Failed payloads are stored as error records inside NetSuite, not in Azure. ~90% of customer setup happens in NetSuite (custom bundle install + connection record config); only a small but important part runs in Azure. Currently active in 3PL deployments (ShipStation and others) and Macy's as a commerce channel.

Repo evidence

This is the closest match between this repo's surface and a Squire product. The repo's "connect anything" thesis is structurally the same as SyncCentral's.

Integrate / Enhance / Replace evaluation

Scenario Repo evidence today Pilot risk Confidence
Integrate Yes — overlay this repo's governance / DLP / audit-log services on existing 40+ deployments without code changes to the SyncCentral bundle. Egress-path interception. low high
Enhance Yes — replace the Azure transformation step (currently hand-written ETL per integration) with this repo's AI Field Mapping + Schema Drift Shield + Reasoning Traces. Requires Azure-side route change per deployment. mid mid (AI Field Mapping accuracy harness shipped — Phase A 2026-05-22, Phase B provider×pair matrix 2026-06-10; baseline numbers in docs/review/ai-accuracy-benchmark.md)
Replace Thin today. This repo doesn't yet ship an NS SuiteApp / BC AL Extension deployment story or a "connection record" UI parity story. Replace becomes credible only after Tier-B engineering work lands. high low

Recommended path today: Enhance — pilot AI Field Mapping + Sync Error AI Assist on one production SyncCentral deployment.

Hard constraints check

Constraint Verdict Notes
Zero data hosting (Squire side) pass Repo services don't persist customer payload bodies; audit log is structured-row metadata, governed by DLP.
Liability split pass Squire still owns the control plane; client still owns the NetSuite-side data.
Kill-switch enforcement pass The per-tenant revocation point exists and now covers SyncCentral: TenantLifecycleService + tenantStatusGate + EmbeddedServiceTokenRepository.revokeAllForTenant (migration 040) — a tenant flipped non-active is blocked across the Central API families and its embedded session tokens are revoked. The tenantStatusGate is now wired onto all three SyncCentral mounts (/api/sync-central, /api/sync-orchestrator, /api/automation-libraries) in RouteSetup.ts, at full parity with the 12 *-central families. The gate reads tenant identity via extractIdentityContext (populated by the global /api optionalAuthMiddleware) and returns 403 tenant_blocked for non-active tenants. The earlier mount-level gap is closed.
SOC 2 acceleration pass / accelerator Audit log persistence + DLP enforcement + identity propagation (PR 2C) all double as SOC 2 evidence.
Budget ceiling (≤20 hrs/yr Preston) pass for Integrate; conditional for Enhance Integrate fits the overlay model. Enhance requires per-deployment Azure-route change — possibly within ceiling for one pilot deployment, not for fleet rollout.

Pilot readiness


This card extends ../REVIEWER-PROMPT.md Squire-Specific Lens. For the canonical Squire product family + hard constraints, see the lens itself.