Skip to content
rev3rse

Trained model / working reference integration

Protecting the model you trained.

You invested in the data, training and tuning that make your model useful. Running it on a phone should not hand over its weights as a ready-to-reuse file. IP Vault seals the model and controls which installations can run it.

Android supported · iOS coming soon

The asset ships sealed. Your app keeps delivering the experience.

IP Vault in the app
01 / Your investmentThe model you trainedmodel.ortData. Training. Tuning.
02 / Ships sealedmodel.ipvaNo opening key in the package.

Opens in licensed installations.

03 / Still useful
Predictions on the device
The app still predicts.
Matching predictions across 20 reference inputs.Our Apache-2.0 digit model, trained on generated strokes. Actual app inference.

Why integrate

The weights carry the work your team invested.

Our reference integration uses a digit classifier trained from random weights on procedurally generated pen strokes for 0–9. The model and its training program are part of our Apache-2.0 reference app. It uses no external training dataset or pretrained weights. A fictional SDK vendor licenses a model to an app developer to illustrate the protection problem.

Two builds show the difference. The baseline ships an ordinary model file that can be copied out of the APK. The protected build ships the sealed model, activates a licensed installation and returns predictions through a model session. This is our working reference example, rather than a customer deployment.

The integration

Seal in the build. Open in licensed installations.

  1. Train the reference model on generated strokes and retain fixed inputs and expected outputs for comparison.
  2. Convert the same weights to ONNX Runtime’s format, then seal that asset for the registered application.
  3. Activate the installation and open the model through IP Vault’s ONNX Runtime session. The application passes input tensors and receives predictions.
  4. Build minified release APKs with the runtime’s required JNI keep rules; compare their contents and actual outputs.

Check the integration requirements for your app and its runtime or reader.

What was checked

A working feature and a leaking baseline.

Case study checks
CheckObserved result
Minified release packagingThe plaintext baseline is detected by the same byte searches that find no declared plaintext probes in the protected APK. Its sealed asset is present.
PredictionsBoth builds match all 20 reference drawings and their expected probabilities within the comparison tolerance.
Installation accessAn activation code the local service never issued is refused; the valid installation opens and runs the model.
Offline useThe protected model opens again and matches all 20 drawings with the service forwarding removed. The test-vector fixture remains reachable.

Read the evidence · Inspect the protected build scan

Model origin and licence: our Apache-2.0 reference model, trained on generated digit strokes.

Recording and demonstration notes

IP Vault encrypts selected assets during the build and controls installation access. In this example, an owned trained handwriting model runs locally through the published Android SDK.

The baseline model is recoverable from its APK. The protected package contains a sealed asset instead. Both builds match all 20 reference drawings. The walkthrough shows actual predictions from recorded strokes, not prerecorded answers.

The model remains readable in process memory while its session is open. The reference model demonstrates integration and packaging, not general handwriting quality or an unextractable model.

Download the full recording · Read its captions

The protection boundary

Put expertise and time back in the way.

AI agents lower the effort needed to locate reusable assets and trace keys bundled with an app. IP Vault seals the asset and issues access to accepted installations. The aim is to move extraction beyond unpacking a download, back toward investigating a running app with specialist expertise and time.

These new checks use the published SDK with a local development service and an Android emulator. They establish this reference integration’s behavior; they do not establish a new hosted deployment, Play Integrity flow or device-wide performance result.

The model is trained on generated strokes. Its reference-input results do not measure accuracy on handwriting in general. Data in use remains in the authorized app’s process; output querying, instrumentation and device exploits are outside this demonstration.

The scanner is free. Guided integration and verification are a separately scoped paid service.

More working examples: Original lesson library · FormFit exercise videos