Skip to content

Importing and Exporting Profiles and Workspaces

ntkDeploy supports two portability flows:

  • Profile JSON import/export from the Profiles screen for redacted templates, backup snapshots of profile definitions, and sharing between administrators inside the current workspace.
  • Workspace bundle import/export from Manage Workspaces for full active-workspace backups and restores, including the workspace database, workspace-scoped settings, and artifact files.

Prerequisites

  • At least one profile must exist before you can export — see Creating a Profile.
  • Profiles to be imported must conform to the ntkDeploy JSON bundle format produced by the export function.
  • You need filesystem write access to the path where the export file will be saved.

Exporting profiles

ntkDeploy exports all profiles currently loaded as a single JSON bundle.

  1. Navigate to Profiles in the sidebar.
  2. In the Profile Configurations header toolbar, click the Export button (download icon).
  3. An Export Safety Notice dialog appears:

Export files are redacted by default. Deployment artifacts include full provider secrets.

Provider credentials (access keys, secret keys) are replaced with redacted placeholders in all export files. Only the artifact built during an actual deployment contains live credentials.

  1. Click Continue Export.
  2. A Save File dialog opens. The default filename is ntk_profiles_export.json. Choose a location and click Save.
  3. A confirmation snackbar reports how many profiles were exported.

Export file structure

An export bundle is a JSON object with the following top-level fields:

{
  "version": "1.0",
  "exportedAt": "2026-03-03T12:00:00.000Z",
  "_metadata": {
    "schemaVersion": "v1.0",
    "exportedAt": "2026-03-03T12:00:00.000Z",
    "hasPolicyConfig": false,
    "requiresPreflight": false,
    "containsRedactedSecrets": true,
    "workspaceId": "alpha",
    "workspaceDisplayName": "Alpha Workspace"
  },
  "profiles": [ ... ]
}

When a profile export runs inside the normal app session, the top-level _metadata block includes the active workspaceId and workspaceDisplayName so the bundle records where it came from.

Each entry in the profiles array contains:

Field Description
name Profile display name
environment Environment label (e.g. Development, Production)
description Optional text description
department Optional department tag
schemaVersion Schema version used (currently v1.0)
settingsJson Full profile settings — provider secrets are redacted
priority Display-order integer
_metadata Per-profile flags: hasPolicyConfig, requiresPreflight, containsRedactedSecrets

Note: containsRedactedSecrets: true in _metadata means live provider credentials are not present. Do not use an export bundle as a deployment artifact — import it into ntkDeploy and deploy from there. Note: Profile JSON import and export operate on the currently active workspace only.


Importing profiles

  1. Navigate to Profiles.
  2. Click the Import button (upload icon) in the Profile Configurations toolbar.
  3. A File Picker dialog opens, filtered to .json files. Select your export bundle and click Open.
  4. The Import Profiles conflict strategy dialog appears immediately. Select how the import should handle profiles whose name and environment already exist in your database — see Conflict resolution.
  5. Click the appropriate strategy button to begin the import.
  6. A success snackbar reports the number of imported profiles. The profile list and environment list refresh automatically.

What is validated during import

The import service performs the following checks before writing any data:

Check What is validated
File structure File must contain version and profiles top-level fields
Required profile fields Each entry must have name, environment, schemaVersion, settingsJson, and priority
Schema version schemaVersion must be registered in ntkDeploy's schema registry
Settings validation settingsJson is validated against the declared schema — profiles that fail validation abort the import
Policy configuration ABAC policy bundles (if present) are validated before accepting the profile

If any check fails, an error dialog describes the exact problem. Profiles that were already committed before the failing entry remain saved.


Conflict resolution

A conflict occurs when an imported profile has the same name and environment as a profile already in your database. The conflict strategy dialog offers three options:

Strategy Button label Behaviour
Auto-Rename (Recommended) 🔄 Auto-Rename (Recommended) Imports the conflicting profile with (Imported) appended to its name — for example, Base Config becomes Base Config (Imported). A new profile is created; the original is untouched.
Overwrite 🔁 Overwrite Replaces the existing profile's settings with the imported data (creates a new profile version). The original Profile ID is preserved.
Skip ⏭️ Skip Conflicts Conflicting profiles in the bundle are silently skipped. Non-conflicting profiles in the same bundle are still imported.

Tip: Use Auto-Rename when importing a template or syncing configs from a colleague. Use Overwrite when restoring from a backup. Use Skip when applying a partial update and existing local versions should be preserved.

The selected strategy applies uniformly to all conflicts in a single import run. There is no per-profile override within one operation.


Exporting and Importing Workspace Bundles

Use a workspace bundle when you need a full organizational backup or you want to move one workspace into another ntkDeploy shell on the same or a different workstation.

For the day-to-day workflow around switching workspaces and opening Manage Workspaces, see Managing and Switching Workspaces.

Exporting the active workspace

  1. Switch to the workspace you want to export.
  2. Open Manage Workspaces from the workspace selector.
  3. In the dialog, click Export Workspace on the active workspace row.
  4. Choose a destination .zip file and save it.

The export button only appears on the active workspace row. ntkDeploy does not offer per-row export for inactive workspaces.

What a workspace bundle contains

Bundle entry Purpose
manifest.json Bundle metadata: workspace identity, exported app version, timestamps, notes, and whether artifacts are included
workspace_settings.json Workspace-scoped conductor and policy server settings
workspace/ntkdeploy.db Full workspace database
artifacts/ The workspace artifact subtree, when artifacts exist

Importing a workspace bundle

  1. Open Manage Workspaces.
  2. Click Import.
  3. Select a workspace bundle .zip file.
  4. ntkDeploy validates the manifest, workspace settings snapshot, workspace database entry, and artifact tree before importing.
  5. After a successful import, the new workspace appears in shell storage and can be selected from the workspace switcher.

Import does not automatically switch the current session. The workspace that was selected before import remains selected until you switch explicitly.

When to use a workspace bundle instead of a profile export

Use case Preferred format
Share or version-control redacted profile templates Profile JSON export
Restore one profile definition into the current workspace Profile JSON import
Move a whole workspace, including providers, assignments, settings, audit data, and artifacts Workspace bundle export/import

Common use cases

Migrating between environments

Move profiles from a Development database to Staging or Production:

  1. Open ntkDeploy connected to the source environment.
  2. Export all profiles to ntk_profiles_export.json.
  3. Copy the file to the machine running ntkDeploy for the target environment.
  4. In the target instance, import the file and choose Auto-Rename to avoid colliding with any existing production configs.
  5. Review imported profiles — update environment labels as needed, re-assign provider instances (credentials are redacted in the export), and validate before deploying.

Backup and restore

Choose the backup level that matches what you need to preserve:

  • Use Profile JSON export when you only need redacted profile definitions.
  • Use Workspace bundle export when you need the full workspace state, including providers, assignments, workspace settings, and artifacts.
  • To restore profile data non-destructively, import a profile bundle with Auto-Rename.
  • To restore a full workspace, import the workspace bundle from Manage Workspaces and then switch to the imported workspace when ready.

Sharing configuration templates

Share a common baseline configuration across team members or sites:

  1. Build and validate the template profile in ntkDeploy.
  2. Export — the file is safe to share because all credentials are redacted.
  3. The recipient imports the file. Because provider credentials are absent, they must configure their own provider instances (see Using Providers) and re-assign them to the imported profile's sources before deploying.

Important: Imported profiles that contain an ABAC policy bundle (requiresPreflight: true in _metadata) must pass a successful preflight check before they can be deployed.


Safeguards and error handling

Scenario What happens
File is not valid JSON A FormatException error dialog is shown. No profiles are affected.
Missing version or profiles field An error dialog specifies the missing field. Import is aborted.
Unknown schemaVersion Import is aborted with a message identifying the unrecognised version string.
Settings fail schema validation Import is aborted; the offending profile name and validation errors are listed.
Missing required profile field Import is aborted; the missing field name is displayed.
File picker is cancelled Import is silently aborted; database is unchanged.
No profiles loaded at export time A snackbar says "No profiles to export" and no dialog is shown.

Exporting a Mobile Profile (.ntkprofile)

The export described above produces a desktop JSON bundle — a human-readable, redacted representation of your profile configurations intended for backup, migration, and sharing between ntkDeploy instances.

Mobile profiles use a completely separate export format: the encrypted .ntkprofile binary file consumed by ntkMobile. It is not produced by the Import/Export buttons on the Profiles screen.

How to export a .ntkprofile file

  1. Open the Deployment Wizard for a profile whose Target Platform is Mobile or Both.
  2. At the delivery-method step, click File Export instead of writing directly to device group paths.
  3. Enter the encryption password (minimum 8 characters) when prompted.
  4. A Save File dialog opens. Save the .ntkprofile file to the desired location.

The resulting file is encrypted with AES-256-GCM and is not human-readable. The path written to during file export is redacted in the audit log.

Desktop JSON export vs. .ntkprofile — key differences

Desktop JSON export Mobile .ntkprofile
Format Human-readable JSON Encrypted binary
Encryption None (secrets redacted) AES-256-GCM
Contents All profile settings (providers, sources, policy) Mobile vault definitions only — desktop-only fields excluded
Primary use Backup, migration, sharing between admins Distribution to ntkMobile devices
Can be imported back into ntkDeploy Yes No
File extension .json .ntkprofile

Important: A .ntkprofile file cannot be imported back into ntkDeploy. It is a delivery artefact for ntkMobile, not a configuration backup. Use the standard JSON export for backup and restore purposes.

For a full walkthrough of the mobile build and deployment workflow see Mobile Profiles.


Next Steps