Partner Silent Provisioning without Shipping Keys
By William Zhu & the InfiniSynapse Data Team · Published: 2026-08-22 · Last updated: 2026-08-24 · Last verified: 2026-08-24 · Next review: 2026-11-24 · Editorial standards · Corrections
Table of Contents
- TL;DR
- What partner silent provisioning actually is
- An ops framework that keeps keys off the page
- Why emailing a key is not onboarding
- Tool landscape for partner-created tenants
- Implementation steps for a silent create path
- Desk sample: a partner admin that never saw the secret (illustrative)
- Selection scorecard
- Failure modes that publish the key
- Frequently Asked Questions
- Conclusion
TL;DR
We evaluate these patterns at the InfiniSynapse desk on sanitized composites; sample figures on this page are illustrative, not customer uplifts.
Direct answer: Partner silent provisioning is an operations path. Your server creates the tenant and a scoped key. The partner’s UI never displays the secret. Email, README, and the browser are not key channels.
/tasksremains the console where a human creates and rotates keys.
What you'll learn:
- What partner silent provisioning owns versus what a product README must never own
- A four-object frame: partner, your server, scoped key, shared
/tasksaudit - Why “hide the key in the SPA” is still a leak
- An illustrative desk composite of a reseller admin that only saw a tenant status
- Failure modes: emailed secrets, frontend keys, and unscoped god keys
The hub for embedding an AI data analyst is the product picture. This page is the onboarding path. Partner silent provisioning exists so a reseller or ISV can start a tenant without shipping a secret through a human inbox.
What partner silent provisioning actually is
Key Definition: Partner silent provisioning is the server-side creation of a tenant and a scoped API key so a partner product can start long analysis tasks without placing that key in email, a README, or the browser. It is an ops path, not a marketing page, and not a published secret.
“Silent” means the end user does not complete a second signup for analysis. It does not mean the key is invisible to your security team. Partner silent provisioning still issues the key in a console a human can open, stores it in a secret manager you operate, and rotates it. Silence is for the partner’s customer, not for your audit.
IANA is the independent home of public identifiers—media types, port numbers, registries that are meant to be published. API keys are the opposite class of object. Partner silent provisioning fails the moment a key is treated like a public identifier.
If the missing object is the call itself, continue in the data agent API. If the missing object is duration, use the long-task agent layer.
W3C’s tabular data model is a reminder that published tables have annotations you can cite. Keys do not belong in those tables. When partner silent provisioning writes a row, write tenant id and status—not the secret.
Provisioning is not a UI widget
A “Get API key” button that dumps a token into a <pre> in the partner admin is a leak with extra CSS. Partner silent provisioning creates the secret on a server, stores it on a server, and lets the partner admin show only “connected” or “needs rotation.” Humans who must see a key open /tasks, not a marketing PDF.
Keys stay off the page
Off the page means off the README, off the onboarding email, off the SPA bundle, and off the support ticket. Partner silent provisioning can still tell a partner that a tenant exists. It must not attach the token. If a human needs a key, they create it in the console and paste it into a secret store—not into Slack.
An ops framework that keeps keys off the page
Four objects stay distinct. Collapsing them is how partner silent provisioning becomes “we emailed the key.”
| Object | Owns | Must not own |
|---|---|---|
| Partner admin | Tenant status, “analysis connected” | The raw key |
| Your backend | Create, scope, rotate, revoke | A copy of the key in logs |
| Secret store | The token | A ticket attachment |
/tasks | Human create and review | A public README snippet |
ISO’s standard page 74306 publishes assessment methods in a public catalog. That is the right pattern for evaluation criteria and the wrong pattern for secrets. Partner silent provisioning copies the discipline—written methods, named owners—and refuses the publication habit for tokens.
Scope the tenant before you mint a key
A god key that can see every partner’s sources is not silent. It is a blast radius. Partner silent provisioning mints a key scoped to one tenant and the sources that tenant authorized. Rotation is a first-class action, not a later ticket.
MySQL documentation is the independent reminder that privilege is granted per account, not “because the app is ours.” Treat the analysis key the same way. When partner silent provisioning talks to a customer’s authorized replica, the key is still not a database password, and it is still not published.
Why emailing a key is not onboarding
Email is a forwarding system. README files are git history. Both are archives you cannot un-send. Partner silent provisioning exists because those channels have already failed in every industry that ships APIs.
A welcome PDF with a token looks helpful and trains the partner to paste secrets into chat. A “temporary” key in the ticket becomes the production key. When you need partner silent provisioning, you need a create call your server makes and a status the partner admin can show—nothing else.
Pandas documentation is a public reference for tables a partner might later analyze. It is not a place to store credentials, and neither is a notebook you email. If a partner’s first artifact is a notebook with a key at the top, you did not provision silently. You published.
Silent is not “hide it in JavaScript”
Obfuscation is not a control. A partner SPA that calls the analysis API directly has a published key, even if the string is split. Partner silent provisioning always hops through a backend the partner operates or that you operate on their behalf. The data agent API is that hop.
Tool landscape for partner-created tenants
| Pattern | Fits | Breaks |
|---|---|---|
| Email the key | Never | Every forward, every hire |
| README in the repo | Never | Git clones and screenshots |
| Key in the partner SPA | Never | Browser extensions, XSS, view-source |
| Console create + server store | Humans who must mint | Teams with no secret manager |
Server create + scoped store + /tasks audit | Partner silent provisioning | God keys, shared inboxes |
InfiniSynapse’s educational path is the last row: a human can still create a key in /tasks for their own tenant. Partner silent provisioning is the same object created by a server you trust, then used to start long tasks. Private deployment can be a later conversation. Do not skip the web console proof.
What a data agent is does not change because a partner started the tenant. Data governance still asks who can create keys and who can see SQL. MCP for data analysis is an IDE door, not a partner onboarding door. Do not put a partner key in an MCP config checked into git.
Rotate without paging the partner’s customer
The end user should not receive a new secret. Partner silent provisioning rotates on the server, updates the store, and leaves the host button working. If rotation requires emailing a token, the path was never silent.
Implementation steps for a silent create path
- Decide who is the tenant: one partner customer, one environment.
- Prove one analysis goal in the web console on a sanitized source before any partner traffic.
- Create a key in
/tasksfor that proof tenant. Practice storing it in a secret manager—not in a doc. - Automate the same create on your server. Scope it. Log tenant id and status, never the token.
- Partner admin shows connected or failed. It does not show the key.
- Start long tasks from the partner backend. Audit them in the same
/taskstimeline.
These steps are educational. You can execute the same sequence in the web app after you finish the diagnosis on this page.
Create a key in the console, never in a README
The first key you ever mint should be a human-created console key for a sandbox. Partner silent provisioning copies that shape. If you cannot find the key in /tasks, you will not find it after an incident either.
Log status, not secrets
Access logs that print Authorization headers undo the entire path. Partner silent provisioning includes a logging rule: tenant, actor, result. If a vendor’s sample prints the token, throw the sample away.
Desk sample: a partner admin that never saw the secret (illustrative)
Desk composite, illustrative, not a customer count. A reseller admin needed “analysis connected” for one customer tenant. The first draft emailed a key and asked the reseller to paste it into a settings field. Two contractors forwarded the thread.
The second draft used partner silent provisioning. The reseller backend created the tenant, stored the scoped key, and showed a green status. The customer never saw a token. A desk analyst opened /tasks for that tenant and ran the same goal the in-app button would send. SQL and a memo appeared on one timeline.
Nothing in the sample is an uplift claim. The only honest result is that partner silent provisioning removed the inbox from the key path. A later rotation updated the store; the reseller admin still showed “connected.”

Figure. Desk composite from this page: Reseller first draft emailed a key; two contractors forwarded; silent path hid the token. Published context: w3.org; iso.org; iana.org. Not a customer experiment, SLA, or official benchmark.
| Evidence class | What you can cite | What you cannot claim |
|---|---|---|
| Desk composite on this page | Grain, leak path, inspectable artifacts | Customer uplift %, vendor bake-off win |
| Published authority (linked above) | Frameworks and definitions from the cited sources | That those sources ran this desk sample |
Desk composite: emailed key versus server-side create; tenant status only in the partner admin. Published context: IANA, W3C tabular data model, ISO page 74306, MySQL docs, Pandas docs.
We ran this check on a sanitized composite at the InfiniSynapse desk on 2026-08-23. The first draft emailed a key; two forwarded copies showed up in the thread. The silent path created the tenant on the server and showed status only. Figures stay illustrative. What you can copy from partner silent provisioning is the channel rule, not a partner count.
Selection scorecard
Score a candidate the way you would score a secrets program, not a signup form.
| Criterion | Weak | Strong |
|---|---|---|
| Channel | Email, README, SPA | Partner silent provisioning on a server |
| Scope | One key for all customers | One tenant, one key |
| Human view | Token on the page | Status only; console for operators |
| Logs | Headers printed | Tenant and result only |
| Audit | “It should work” | Same /tasks timeline |
| Rotation | New email | Store update, user sees no secret |
If a vendor’s partner guide begins with “paste this key,” you do not have partner silent provisioning. If the first screen is a status pill and the key never appears, you might.
Failure modes that publish the key
Most failures are channel failures, not model failures.
Shipping a key in the welcome email
The thread will be forwarded. Partner silent provisioning that starts with SMTP has already failed. Create on the server. Say “connected.”
Putting the key in the partner frontend
View-source is enough. XSS is extra. If you need partner silent provisioning, you already admitted the browser is not a vault.
One shared key for every tenant
A leak then reads every customer. Scope the key. Partner silent provisioning without scope is a single password with a nicer name.
Before you write a line of partner integration, create a sandbox key in the web console, store it in a secret manager, and run one goal you would allow a partner to trigger. If that proof fails, you are not ready for partner silent provisioning. If it passes, automate the same create—never the same email.
Route the same diagnosis to the live guide that owns the next object. Each row is a single hop, not a reading dump.
| Live guide | Open it when |
|---|---|
| embed an AI data analyst | you need the product embed picture |
| data agent API | the create-and-call wire is next |
| long-task agent layer | duration is still being denied |
| same task in web and api | the partner call must match the console |
| data governance | access review is the next gate |
| what is data management | ownership of the tenant record is unclear |
| Analyze inside Your App without a New BI Suite | Your UI takes the question; the agent keeps the trail |
| Workflow-Embedded Analytics in an Existing Product | The analysis slot is a task, not a hidden iframe chart |
Create a key in the console, never in a README
Mint a sandbox key in the web task console, store it off the page, and run one authorized goal before you automate any partner create path. This check uses only sources you authorize.
Commercial association: You do not need the workspace to complete the educational diagnosis on this page.
Open InfiniSynapseHow this page is sourced. William Zhu is cofounder of InfiniSynapse (GitHub @allwefantasy); no personal LinkedIn is published. Desk experience: designing and reviewing production analysis packs—definition locks, read-only source binds, and downloadable
/tasksartifacts. Reviewed by analytics engineering · data platform · LLM security · editor. Editorial standards · corrections · publishing principles · Contact zhuhl@infinisynapse.com. Company Vision. COI: InfiniSynapse sells an AI-native Data Agent; the in-article banner is a commercial association. Fact-check: iana.org · w3.org · ISO · dev.mysql.com · pandas.pydata.org.
Frequently Asked Questions
Is partner silent provisioning the same as hiding a key in JavaScript?
Bottom line: No. Hiding a string in a bundle is a published key. Partner silent provisioning creates and stores the secret on a server the partner or you operate.
Can I email a key “just for the pilot”?
Bottom line: No. Pilots get forwarded. If you need partner silent provisioning, the pilot uses the same server path.
Where should a human create the first key?
Bottom line: In the web task console. Partner silent provisioning automates that shape. It does not replace /tasks as the place a human can mint and revoke.
Does provisioning write into the customer’s production database?
Bottom line: No. Partner silent provisioning creates a tenant and a key. Analysis still reads sources the tenant authorizes and writes artifacts in the workspace.
What does the partner admin show?
Bottom line: Status, not the token. If the admin can reveal the key, you do not have partner silent provisioning—you have a settings page that publishes secrets.
Conclusion
Partner silent provisioning is an ops path: create a scoped key on a server, keep it off every page, and audit long tasks in the same /tasks console. Email and README are archives. The browser is not a vault.
Prove one sandbox goal on the web first. When that run is acceptable, take the same check into InfiniSynapse and keep keys out of every document you would be willing to commit.