Platform · Security

Private by design.

Kaimei never stores your original model file. Upload shapes only and the weights stay in your environment. Point it at your own endpoint and the model never leaves at all.

Private by design

What leaves your network, and what never does.

Kaimei never stores your training data or your model file. It keeps what you choose to send, model by model: the weights, only their shapes, or none of the model at all.

  1. 01Upload

    The default upload sends the structure, never the file.

    client.models.upload reads the fitted estimator in your process and extracts its layers and learned weights into a kaimei.structure.v1 spec. The original pickle, .h5 or .pt is never sent. Pass X and y and the reference rows you choose go with it, up to 5,000.

    For the families Kaimei executes, from scikit-learn trees to Keras and PyTorch networks, explanations, predictions and analyses then run in the API.

    client.models.upload(
        clf, name="Churn net",
        X=X_valid, y=y_valid,
    )
  2. 02Shapes only

    Keep the weights at home.

    With weights="summary" the client sends shapes and statistics instead of the weight values. The dashboard still draws the architecture. The weights never leave your environment.

    Shapes cannot be executed, so explanations need a scoring endpoint. Logging predictions and storing your own attributions work without one.

    client.models.upload(
        net, name="Pricing net",
        weights="summary",
    )
  3. 03Scoring endpoint

    Or keep the whole model at home.

    Register an HTTPS scoring URL. When Kaimei needs a prediction it POSTs batches of rows to your endpoint and reads the predictions back, so explanations, analyses and predict all work while the model stays on your infrastructure.

    Headers you set are stored and never returned. The endpoint has to be reachable from Kaimei's servers. In the Titanic example, explaining one passenger through an XGBoost endpoint scored 16,394 rows in 13.9 s.

    inference={"type": "remote",
               "url": "https://…/predict"}
  4. 04Your attributions

    Or send only the numbers.

    Already computing TreeSHAP or integrated gradients? Send the values to POST /v1/explanations. Kaimei does not query the model: it ranks them, records the method as provided and draws them with the same bars as its own.

    Shown: XGBoost's own TreeSHAP values for Mr Braund, in log-odds, from the Titanic example. Counterfactuals and analyses need a model Kaimei can run.

    client.explanations.create(
        model="titanic-xgboost",
        input=row,
        attributions=treeshap_values,
    )
  5. 05Monitoring

    Logging works in every mode.

    Your serving stack logs each prediction with its input, its output and your own id, up to 1,000 per call. Logging never needs Kaimei to run the model. Drift compares the latest 500 logged inputs with the reference rows, feature by feature.

    A shadow model is the same pattern with two models. In the Titanic example, a feed that sent fares in pence showed up as Fare PSI 1.555, significant.

    client.predictions.create_batch(
        model="titanic-forest",
        items=served,   # up to 1,000
    )
  6. 06Summary

    What crosses, mode by mode.

    Kaimei stores the feature schema you register, the reference rows you choose to upload, the layers and weights you choose to extract, and the predictions and explanations it produces. Every call is HTTPS to api.kaimei.ai/v1 with a bearer token, and API keys are stored hashed.

    Enterprise plans include a private deployment.

    What crosses your network boundary in each mode
    Leaves your network Upload Shapes only Endpoint Your attributions
    Model filenevernevernevernever
    Training datanevernevernevernever
    Weight valuessentstaysstaysstays
    Shapes and statisticssentsentoptionaloptional
    Feature schemasentsentsentsent
    Reference rowsoptionaloptionaloptionaloptional
    Logged predictionsoptionaloptionaloptionaloptional
    Kaimei runs ityesnovia your endpointno

    Reference rows are the rows you choose to upload, at most 5,000. An upload runs in Kaimei when its model family is one Kaimei executes. Logging never needs Kaimei to run the model.

Schematic, not a network map. The attributions (Sex −1.25, Fare −0.621, Pclass −0.391 log-odds), the 16,394 scored rows and Fare PSI 1.555 come from the Titanic example notebooks 02 and 04. The packets and their timing are illustrative.

In practice

The details a security review asks for.

Bearer tokensRequests and responses are JSON over HTTPS, authenticated with a bearer token. Authentication
Keys stored hashedAPI keys are stored hashed and cannot be recovered; the secret is shown once. API keys
Endpoint headersHeaders your scoring endpoint needs are stored and never returned. Scoring endpoint
Private deploymentEnterprise plans include a private deployment. Self-hosting

Upload a model this afternoon.

The free plan covers the whole Titanic walkthrough with room to spare. Your own model is one call away.