Skip to content
cccskills
FreePublished on GitHub

white-label

Set up Kortix as a product under your own brand. This skill guides license signing, Platinum compute configuration, and changes to names, logos, colors, and frontend branding, while explaining the operating conditions stated in the agreement.

OriginalShow the original description

White-label Kortix: license it, run it on Platinum, and rebrand it as the partner's own product. Load WHENEVER a user asks to white-label, rebrand, resell, or host Kortix under their own name, logo, or domain, or asks about the white-label license or the Exclusive Compute Agreement.

See how to install

Good for

  • Offering Kortix under your own product name
  • Changing names and logos through the Branding tab
  • Building a branded frontend with @kortix/sdk
  • Checking license and compute provider requirements

Files included (1)

  • SKILL.md5.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

White-label Kortix

The license is WHITE-LABEL-LICENSE.md at the repository root. Read its summary first. The agreement there is the binding text. Do not paraphrase it as legal advice.

The one requirement: the partner uses Platinum as its exclusive compute provider, for every service Platinum offers (sandboxes today; volumes, runners, AI compute, and inference when Platinum offers them and Kortix uses them).

1. License: a person signs, never the agent

  1. Give the user the signing link from "Get a license" in WHITE-LABEL-LICENSE.md.
  2. A person with authority for their organization signs it. You must not sign, type a signature, or accept the agreement for them.
  3. Continue when the user confirms that they signed. Documenso emails them the signed copy.
  4. Custom terms: the user emails marko@kortix.ai. Do not promise terms that the agreement does not contain.

2. Compute: Platinum

The license covers any fork or wrapper of this repository, on any infrastructure. The deployment method does not matter. The compute provider does.

  1. The user signs in at https://platinum.dev/dashboard and creates an API key (pt_live_…). Platinum shows the key once. When signup is closed for them, they email marko@kortix.ai from the address they signed with.

  2. Treat the key as a secret. Never write it into a tracked file, a commit, or a log. Put it in the deployment's secret store or untracked env file.

  3. Set the API environment of the deployment:

    ALLOWED_SANDBOX_PROVIDERS=platinum   # platinum only, never a list with another provider
    PLATINUM_API_KEY=pt_live_...
    PLATINUM_API_URL=https://api.platinum.dev
    ENTERPRISE_LICENSE_AVAILABLE=true    # turns on the branding entitlement
    

    apps/api/src/config.ts reads these. With kortix self-host start, the same values come from the "Sandbox provider" prompt (choose platinum) and the --enterprise-license flag.

  4. Start one session and confirm that it reaches a running sandbox.

ENTERPRISE_LICENSE_AVAILABLE=true turns on the branding entitlement (and SSO, SCIM, RBAC, and audit). Section 2.2(d) of the agreement permits it for a licensed partner.

3. Rebrand

Choose the smallest path that meets the user's goal.

A. No code: the Branding tab. Open /accounts/<account_id>?tab=branding in the instance. Set the product name and upload the logo, the symbol, and the favicon (each with a dark variant). packages/ui/src/primitives/kortix-logo.tsx and the browser-tab title use these values after the account loads.

B. Source rebrand of apps/web. For what path A does not cover:

WhatWhere
Name, title, canonical domainpackages/ui/src/internal/lib/site-metadata.ts
Page metadata, author, iconsapps/web/src/app/[locale]/layout.tsx
Logo componentpackages/ui/src/primitives/kortix-logo.tsx
Static icons and logosapps/web/public/ (favicon.*, icon-*.png, apple-touch-icon.png, *.svg)
PWA manifestapps/web/public/manifest.json
Colors.agents/skills/kortix-brand/references/visual/visual-system.json, then run .agents/skills/kortix-brand/scripts/generate-tokens.ts. Never edit the generated blocks of globals.css by hand.
Product name in UI copyapps/web/translations/*.json
Email senderEMAIL_FROM and SMTP_SENDER_NAME in the instance env

C. Own frontend on @kortix/sdk. Three patterns live under apps/white-label/. apps/white-label/README.md compares them and has the id map.

  • Reskin the Kortix workspace: apps/white-label/reskin (Lumen Workspace). Next.js. The Kortix product screens (@kortix/ui session, workspace and files modules) under your own typed theme, mark and fonts. Direct mode: each person pastes a Kortix PAT and the browser calls the Kortix API (the API must allow the origin through CORS). Wrapper mode: KORTIX_API_KEY stays on your server, people sign in to your app, and a same-origin proxy with a deny-by-default policy calls Kortix. Name and tagline: src/config/brand.ts. Colors, radius, fonts: src/config/theme.ts.
  • Wrap Kortix for your own team: apps/white-label/team-console. A Vite static Kortix App. People sign in with their Kortix login (the App viewer identity). Kortix is the identity and the data. No backend.
  • Wrap Kortix as a SaaS you sell: apps/white-label/lumen (AI for legal teams). Lumen owns customers, accounts, firms, plans, seats and data (Next.js + Convex + Better Auth). One Kortix project is the whole backend: each firm is a Drive folder, an agent (grants: that folder + the read-only kit; no repository, no Kortix permissions) and a service account (project role member, owns the firm's sessions). A restricted matter gets its own folder /Lumen/Walled/<matterId> and agent lumen-m-<matterId>. Members reach Kortix only through Lumen's same-origin proxy, which holds the firm's credential, pins the matter's agent (the firm's, or a restricted matter's own) and binds every session and sandbox to the matter. The isolation table: apps/white-label/lumen/README.md "One project, many firms". Name and tagline: src/config/brand.ts. Colors, radius, fonts: src/config/theme.ts.

4. Stay compliant

  • Never configure Daytona (the legacy fallback) or any other sandbox provider for a white-label instance. Platinum is the only one.
  • When Kortix gives notice of a new Platinum service that the instance uses, move that work to Platinum within 90 days.
  • Keep every copyright and license notice in the source code. The UI does not need to show Kortix.
  • Do not use the Kortix or Platinum names or logos, except "powered by Kortix" or "powered by Platinum".

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

access-policy

FreeSummary

Review Slack access requests against Okta role and team information, then prepare narrowly scoped GitHub or AWS IAM permissions. Apply changes only after an eligible person's approval and record the grant, reasoning, approver, and timestamp.

  • Reviewing GitHub repository access requests from Slack
  • Preparing AWS IAM permissions for a specific task
  • Routing sensitive access requests for additional review
kortix-ai/suna20.3KUpdated Oct 22, 2026

account-research

FreeSummary

Research companies and people before outreach or meetings. Combines business profiles, recent news, hiring signals, and key contacts into a sourced brief with talking points and suggested questions, adding relationship history when CRM data is connected.

  • Research a prospective customer before outreach
  • Prepare background information for meeting attendees
  • Compare a competitor's products and positioning
kortix-ai/suna20.3KUpdated Oct 22, 2026

Review daily Google Ads and Meta Ads results for budget pacing, declining performance, and unusual activity. Get prioritized findings with supporting numbers and concrete recommendations for a marketing team to assess and carry out.

  • Checking whether campaign budgets are being spent on schedule
  • Investigating rising acquisition costs or falling ad returns
  • Finding ads and keywords that spend without converting
kortix-ai/suna20.3KUpdated Oct 22, 2026

agent-browser

FreeSummary

Automate website tasks such as navigating pages, filling forms, clicking buttons, taking screenshots, and extracting data. The skill also supports web app testing, with specialized guides for Electron desktop apps, Slack, and cloud browsers.

  • Automate form entry and page navigation
  • Capture screenshots and extract page data
  • Explore web apps for bugs
kortix-ai/suna20.3KUpdated Oct 22, 2026

ap-invoice-match

FreeSummary

Process emailed vendor invoices by extracting details, comparing them with purchase orders and invoice history, and recording duplicates, overcharges, or missing orders. Summarize results in Slack for human review; payment approval and execution remain with people.

  • Checking incoming invoices against purchase orders
  • Finding duplicate invoices and likely resends
  • Reviewing unit prices and remaining order balances
kortix-ai/suna20.3KUpdated Oct 22, 2026

billing

FreeSummary

Guide changes to Kortix billing code, admin controls, and pricing screens. Explain how plans, trials, enterprise contracts, and access exceptions should work, where pricing is defined, and which audited routes must handle account changes.

  • Update billing logic and its specification together
  • Review how trials and enterprise contracts are handled
  • Find the code that defines prices and allowances
kortix-ai/suna20.3KUpdated Oct 22, 2026

See all skills by kortix-ai

Report a problem with this skill