Jackson Swiss Partners

Partner KYC & onboarding

Your brand on the outside. Our compliance engine underneath.

Let clients onboard with your name on the screen while Jackson Swiss Partners runs the company pre-fill, identity verification and KYC vault. One API, signed webhooks, and no compliance UI for you to build.

Companies House pre-fill·ComplyCube verification·Central KYC vault

YYour Brand
Onboarding

Confirm your onboarding

Hi Dana, let’s get Acme Holdings set up.

We’ve pre-filled your company details. Confirm a few things and complete a quick, secure identity check.

CompanyAcme Holdings Ltd
Registered no.09876543
Beneficial owners2 found · 10%+
Continue onboarding
Verified by ComplyCubeHosted by JSP

The handoff

Four calls, and the onboarding is ours to run.

  1. 01

    Originate

    Call the API with a company. We pull its details and beneficial owners from Companies House and open a draft onboarding.

  2. 02

    Invite in your name

    Send a branded “confirm onboarding” email from your address, or drop the resume link straight into your own app.

  3. 03

    The client verifies

    They finish the hosted flow under your brand. ComplyCube runs document and biometric checks. You never touch a KYC file.

  4. 04

    You’re notified

    A signed webhook fires the moment KYC clears or fails, with retries. Poll the status endpoint whenever you like.

White-label

Your clients never see us.

Set your name, logo, colour, sending address and privacy link once. The same onboarding renders and emails under your brand for every applicant, no forked codebase, no “powered by” in the way of your relationship.

  • Brand name & logo
  • Your sending address
  • Your primary colour
  • Your privacy policy link

Companies House pre-fill

Legal name, number, registered office, incorporation date and beneficial owners down to 10%, pulled from the public register.

Hosted identity verification

Document and biometric capture run in our flow via ComplyCube, a regulated provider. There is no KYC screen for you to build.

Central KYC vault

Verified people and documents are stored once and reused across a client’s applications, matched by email, then name and date of birth.

Signed webhooks

HMAC-SHA256 status events you verify with your secret, sent only on a real change, with automatic retries and a polling fallback.

Everything the integration needs.

Companies House pre-fill

Legal name, number, registered office, incorporation date and beneficial owners down to 10%, pulled from the public register.

Hosted identity verification

Document and biometric capture run in our flow via ComplyCube, a regulated provider. There is no KYC screen for you to build.

Central KYC vault

Verified people and documents are stored once and reused across a client’s applications, matched by email, then name and date of birth.

Signed webhooks

HMAC-SHA256 status events you verify with your secret, sent only on a real change, with automatic retries and a polling fallback.

Your branding, end to end

Name, logo, colour, sending address and privacy link. The same onboarding renders and emails as you, not us.

Isolated by key

Each partner sees only its own onboardings, and identities never merge across partners. Keys are hashed at rest and revocable.

/api/partner/v1

A few lines to onboard a client.

Authenticate with your key, originate an onboarding, then send the branded invite or embed the returned resume link. Verify each webhook against your secret. That is the whole integration.

onboard.ts
// One HTTPS call originates a partner-branded onboarding.
const res = await fetch('https://www.jacksonswiss.com/api/partner/v1/onboardings', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.JSP_KYC_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    company_name: 'Acme Holdings Ltd',
    name: 'Dana Client',
    email: 'dana@acme.example',
    product: 'fx_payments',
  }),
});

const { id } = await res.json();
// Then send your branded invite, or embed the returned resume_url.
await fetch(`.../onboardings/${id}/invite`, { method: 'POST' });

Results, signed

You’re told the moment it clears.

Every status change is POSTed to your endpoint with an HMAC-SHA256 signature you verify against your secret. It fires only on a real transition, retries on failure, and is safe to treat idempotently.

KYC lifecycle

pendingawaiting_resultverified/failed
POST https://your-app.example/webhooks/jsp

X-JSP-Event: onboarding.kyc.updated

X-JSP-Signature: 9f2c1e…a7(hex HMAC-SHA256 of the raw body)

{
  "event": "onboarding.kyc.updated",
  "onboarding_id": 1042,
  "kyc_status": "verified",
  "lifecycle": "complete",
  "company_name": "Acme Holdings Ltd",
  "occurred_at": "2026-07-02T14:08:31Z"
}

Central vault

One identity, reused across applications.

A verified person is stored once and matched on the next onboarding by email, then name and date of birth. Their documents and result carry across, and nothing is ever merged with another partner’s records.

Dana Client

verified · reusable party

FX payments

FX-000021

Hedging

FX-000044

Commercial finance

LENDING-000012

Matched by email, then name + DOB·Isolated per partner

Trust & compliance

Built for the compliance team, too.

Regulated verification

Identity and address checks run through ComplyCube. You never operate a verification vendor relationship.

Signed, retried delivery

Every event carries an HMAC signature; delivery retries on 10s / 30s / 60s / 300s backoff and is safe to treat idempotently.

Encrypted vault

Documents are copied into an access-controlled vault namespace, kept even if the original application is removed.

Immutable audit trail

Every action, from party created to status changed, is written to an append-only audit log for compliance.

Identity and address checks are performed by our regulated verification partner. A person is stored once and reused as a verified party; a new onboarding still begins as pending until its own check completes.

Questions partners ask.

Do my clients ever see Jackson Swiss Partners?
No. The invite email, the sender, the hosted flow and the branding are all yours. We run underneath so your onboarding looks and feels like your product.
What runs the identity verification?
ComplyCube, a regulated verification provider. Document and biometric capture happen inside our hosted flow, so you never handle ID files or integrate an SDK.
How do I know when a client is verified?
We POST a signed webhook the moment KYC status changes, with retries, and you can poll GET /onboardings/{id} for status, lifecycle and document counts any time.
Is my data separated from other partners?
Yes. Every onboarding and identity is scoped to your API key. Identity matching is isolated to you and never merges with another partner’s or with our first-party records.

Put your brand on our KYC.

Tell us about your platform and we’ll issue an API key, set up your branding, and walk you through the first onboarding.