Skip to main content
This page accumulates real verification sessions over time, each as its own dated entry. Nothing here is projected forward from one session to the next: a session that only exercised one connector says so, and a later session covering a different connector gets its own entry rather than silently extending an earlier claim. The real HubSpot test deal id used in the 2026-08-11 entry below is redacted to [redacted-deal-id] in this public copy; every other detail (requests, responses, database cross-checks) is reported unchanged.

2026-08-11 — Live end-to-end verification, HubSpot connector, parmana-api.fly.dev

Scope

This session verified the HubSpot connector only, against the live parmana-api deployment on Fly.io (https://parmana-api.fly.dev) and a real HubSpot test deal (id [redacted-deal-id], “Parmana Test Deal”). RAZORPAY_KEY_ID/RAZORPAY_KEY_SECRET/RAZORPAY_WEBHOOK_SECRET are configured as live-mode credentials on this same deployment, confirmed via a prior secrets audit in this session. Razorpay was deliberately not exercised in this session to avoid any real money movement. Nothing in this entry should be read as re-verifying the Razorpay path; see Independent TRL 7 Verification for what was checked there.

What was verified

A full live chain — authorize, policy-check, execute, persist, present — run with real HTTP requests against the deployed instance, not a local or mocked process. At every step where the API returned a claim (a trust record, a receipt, a refusal record, a hash, a signature), the corresponding row was independently queried directly from the production Postgres database (read-only SELECTs over DATABASE_URL) and compared field by field, not just checked for a matching status code.

Steps and results

No discrepancy was found anywhere in this session between what the API claimed and what was actually persisted or actually happened on HubSpot.

One structural note, stated plainly

The revert in the last row was done with a direct HubSpot API call, not another signed Parmana request. This is not a workaround for a bug: the hubspot-deal-update policy enforces forward-only stage transitions (HUBSPOT_DEFAULT_STAGE_ORDER), so Parmana itself has no policy-approved path to move a deal backward. Reverting the test deal necessarily went around Parmana rather than through it.

Operational side effect

This session generated a fresh PARMANA_API_KEYS credential (caller id verification-agent) and set it on the live deployment via flyctl secrets set, replacing whatever value was configured before (the prior value’s raw key was not available to append to, only its digest, via flyctl secrets list). Any caller credential in use before this session no longer authenticates.