Structure des Données

Hexbon ne se contente pas de crypter vos données - il les structure. Apprenez le format JSON requis et validez vos données pour débloquer l'expérience interactive complète.

Pourquoi la structure des données est importante

Hexbon est plus qu'un outil de cryptage - c'est un système de stockage de données structurées. Vos données sont organisées dans un format hiérarchique qui permet des fonctionnalités puissantes telles que la réorganisation par glisser-déposer, des cartes interactives, des enregistrements extensibles et des sections organisées.

Structure vs Cryptage

Nous pouvons toujours décrypter vos données si vous fournissez la bonne clé de cryptage. Cependant, si vos données ne suivent pas nos directives de structure, nous les afficherons en mode brut (raw) - vous verrez les données, mais sans les fonctionnalités interactives de l'interface utilisateur telles que les cartes, les enregistrements, les sections, le glisser-déposer, etc.

Cette documentation explique la structure JSON exacte attendue par Hexbon. Le respect de cette structure garantit que vos données sont entièrement compatibles avec les fonctionnalités interactives de notre tableau de bord.

Aperçu de la Structure

Les données Hexbon suivent une structure hiérarchique stricte. Comprendre cette hiérarchie est essentiel pour organiser correctement vos données.

Hiérarchie des Données

{ "cards": [...] }
{
  "title": "Personal",
  "records": [...],
  "updated_at": 1763938832
}
{
  "title": "Gmail",
  "data": [...]
}
{
  "name": "Login",
  "values": [...]
}
{
  "value": "secret123",
  "type": "secret"
}
Propriété Requis S'applique à
cards Oui Objet racine
title Oui Carte, Enregistrement
records Oui Carte
data Oui Enregistrement (tableau de sections)
name Oui Section
values Oui Section
value Oui Valeur
type Oui Valeur (secret, note, totp, link, email)
id Non Valeur (pour le tri)
updated_at Non Carte (horodatage)

Cartes

Les cartes sont les conteneurs de niveau supérieur de votre tableau de bord. Chaque carte apparaît sous la forme d'une tuile cliquable qui peut être développée pour révéler ses enregistrements. Les cartes peuvent être réorganisées par glisser-déposer.

Schéma de la Carte
{
  "title": "string",           // Required: Card name displayed on tile
  "records": [],              // Required: Array of Record objects
  "updated_at": 1763938832    // Optional: Unix timestamp of last update
}
Propriété Type Requis Description
title string Oui Le nom d'affichage indiqué sur la tuile de la carte
records array Oui Tableau d'objets Enregistrement (peut être vide)
updated_at integer Non Horodatage Unix pour l'affichage de la "dernière mise à jour"
Exemple de Carte
{
  "title": "Work Credentials",
  "records": [
    // Record objects go here...
  ],
  "updated_at": 1763938832
}

Enregistrements

Les enregistrements sont des entrées au sein d'une carte. Ils apparaissent dans la barre latérale gauche lorsqu'une carte est ouverte et peuvent être sélectionnés pour afficher leurs sections. Considérez les enregistrements comme des éléments ou des entrées individuels (par exemple, "Compte Gmail", "VPN professionnel", "Identifiants de base de données").

Schéma de l'Enregistrement
{
  "title": "string",     // Required: Record name displayed in sidebar
  "data": []               // Required: Array of Section objects
}
Propriété Type Requis Description
title string Oui Le nom d'affichage indiqué dans la liste des enregistrements
data array Oui Tableau d'objets Section (peut être vide)

Note : La propriété data contient des "sections", et non des données brutes. Ce nom est dû à des raisons historiques. Chaque élément du tableau data est un objet Section.

Exemple d'Enregistrement
{
  "title": "Gmail Account",
  "data": [
    {
      "name": "Login Details",
      "values": [
        // Value objects go here...
      ]
    }
  ]
}

Sections

Les sections regroupent les valeurs associées au sein d'un enregistrement. Elles fournissent une couche organisationnelle qui aide à catégoriser différents types d'informations (par exemple, "Détails de connexion", "Options de récupération", "Clés API"). Chaque section a un nom et contient plusieurs valeurs.

Schéma de la Section
{
  "name": "string",     // Required: Section heading/label
  "values": []             // Required: Array of Value objects
}
Propriété Type Requis Description
name string Oui L'en-tête de section affiché au-dessus des valeurs
values array Oui Tableau d'objets Valeur contenant vos données
Exemple de Section
{
  "name": "Login Details",
  "values": [
    {
      "value": "user@example.com",
      "type": "note",
      "id": "value_1763938238781_3jh5i3r20"
    },
    {
      "value": "supersecretpassword123",
      "type": "secret",
      "id": "value_1763938251026_fvjeq1vg9"
    }
  ]
}

Valeurs

Les valeurs sont les entrées de données réelles - les secrets, les notes et les codes TOTP que vous stockez. Chaque valeur a un type qui détermine comment elle est affichée et comment on interagit avec elle dans l'interface utilisateur.

Schéma de la Valeur
{
  "value": "string",   // Required: The actual content
  "type": "secret" | "note" | "totp" | "link" | "email" | "username",  // Required
  "id": "string"      // Optional: Unique identifier for sorting
}
Propriété Type Requis Description
value string Oui Le contenu réel (mot de passe, texte de la note, secret TOTP)
type string Oui L'un des suivants : "secret", "note", "totp", "link", "email" ou "username"
id string Non Identifiant unique utilisé pour le tri et le référencement

Types de Valeurs

Type Affichage Cas d'utilisation
"secret" Masqué par défaut (•••••), cliquez pour révéler Mots de passe, clés API, données sensibles
"note" Texte brut toujours visible Noms d'utilisateur, e-mails, URL, informations non sensibles
"totp" Génère des codes à 6 chiffres en direct Secrets 2FA (encodés en Base32)
"link" Hyperlien cliquable URL, adresses de sites Web
"email" Adresse e-mail avec lien mailto Adresses e-mail
"username" Texte brut toujours visible avec icône d'utilisateur Noms d'utilisateur, identifiants de compte
Exemple de Valeurs
// Secret value (hidden by default)
{
  "value": "MySecurePassword123!",
  "type": "secret",
  "id": "value_1763938251026_fvjeq1vg9"
}

// Note value (always visible)
{
  "value": "user@example.com",
  "type": "note",
  "id": "value_1763938238781_3jh5i3r20"
}

// TOTP value (generates 2FA codes)
{
  "value": "JBSWY3DPEHPK3PXP",
  "type": "totp",
  "id": "value_1763938267595_kaecs9y31"
}

// Username value (visible text with user icon)
{
  "value": "john_doe_123",
  "type": "username",
  "id": "value_1763938289412_xm2kp7v91"
}

Exemple Complet

Voici une structure de données complète et valide montrant la hiérarchie complète avec plusieurs cartes, enregistrements, sections et différents types de valeurs.

Structure Valide Complète
{
  "cards": [
    {
      "title": "Personal Accounts",
      "records": [
        {
          "title": "Gmail",
          "data": [
            {
              "name": "Login Details",
              "values": [
                {
                  "value": "myemail@gmail.com",
                  "type": "note"
                },
                {
                  "value": "SuperSecretPassword123",
                  "type": "secret"
                }
              ]
            },
            {
              "name": "2FA",
              "values": [
                {
                  "value": "JBSWY3DPEHPK3PXP",
                  "type": "totp"
                }
              ]
            }
          ]
        },
        {
          "title": "GitHub",
          "data": [
            {
              "name": "Account",
              "values": [
                {
                  "value": "myusername",
                  "type": "note"
                },
                {
                  "value": "gh_token_abc123xyz",
                  "type": "secret"
                }
              ]
            }
          ]
        }
      ],
      "updated_at": 1763938832
    },
    {
      "title": "Work",
      "records": [
        {
          "title": "VPN Access",
          "data": [
            {
              "name": "Credentials",
              "values": [
                {
                  "value": "vpn.company.com",
                  "type": "note"
                },
                {
                  "value": "john.doe",
                  "type": "note"
                },
                {
                  "value": "VpnP@ssw0rd!",
                  "type": "secret"
                }
              ]
            }
          ]
        }
      ],
      "updated_at": 1763856530
    }
  ]
}

Mode Brut (Raw)

Si vos données décryptées ne suivent pas la structure attendue, Hexbon les affichera quand même - mais en mode brut (raw). Cela signifie que vous verrez vos données sous forme de JSON simple sans les fonctionnalités interactives fournies par les données structurées.

Fonctionnalité Mode Structuré Mode Brut (Raw)
Tuiles de cartes interactives
Réorganisation par glisser-déposer
Masquage des secrets avec bouton de révélation
Génération de codes TOTP en direct
Édition sur place et sauvegarde automatique
Boutons de copie dans le presse-papiers

Vos données sont toujours en sécurité

Le mode brut n'affecte que l'affichage, pas la sécurité. Vos données sont toujours cryptées avec le cryptage AES-256-GCM, quelle que soit la structure. Vous ne bénéficierez simplement pas des fonctionnalités interactives de l'interface utilisateur si la structure ne correspond pas.

Validez votre Structure de Données

Utilisez notre outil de validation interactif pour vérifier votre structure de données en temps réel.

Essayer l'Outil de Validation

Nous utilisons à peine des cookies

Nous n'utilisons que des cookies strictement nécessaires, qui améliorent la sécurité du site web et l'expérience utilisateur. Nous ne suivons pas vos actions ni votre activité.