- Головна
- Структура даних
Структура даних
Hexbon не просто шифрує ваші дані - він також структурує їх. Дізнайтеся про необхідний формат JSON і перевірте свої дані, щоб отримати повний інтерактивний досвід.
Розділи
Чому структура даних важлива
Hexbon - це більше, ніж просто інструмент шифрування; це структурована система зберігання даних. Ваші дані організовані в ієрархічному форматі, що дозволяє використовувати такі потужні функції, як зміна порядку перетягуванням, інтерактивні картки, записи, що розгортаються, та організовані розділи.
Структура проти шифрування
Ми завжди можемо розшифрувати ваші дані, якщо ви надасте правильний ключ шифрування. Однак, якщо ваші дані не відповідають нашим рекомендаціям щодо структури, ми відобразимо їх у необробленому режимі (raw mode) - ви побачите дані, але без інтерактивних функцій інтерфейсу, таких як картки, записи, розділи, перетягування тощо.
Ця документація описує точну структуру JSON, яку очікує Hexbon. Дотримання цієї структури гарантує повну сумісність ваших даних з інтерактивними функціями нашої панелі керування.
Огляд структури
Дані Hexbon дотримуються суворої ієрархії. Розуміння цієї ієрархії є ключем до правильної організації ваших даних.
Ієрархія даних
{ "cards": [...] }
{
"title": "Personal",
"records": [...],
"updated_at": 1763938832
}
{
"title": "Gmail",
"data": [...]
}
{
"name": "Login",
"values": [...]
}
{
"value": "secret123",
"type": "secret"
}
| Властивість | Обов'язково | Застосовується до |
|---|---|---|
| cards | Так | Кореневий об'єкт |
| title | Так | Картка, Запис |
| records | Так | Картка |
| data | Так | Запис (масив розділів) |
| name | Так | Розділ |
| values | Так | Розділ |
| value | Так | Значення |
| type | Так | Значення (secret, note, totp, link, email) |
| id | Ні | Значення (для сортування) |
| updated_at | Ні | Картка (мітка часу) |
Картки
Картки - це контейнери верхнього рівня на вашій панелі керування. Кожна картка відображається як блок, який можна натиснути та розгорнути для перегляду її записів. Картки можна перевпорядковувати за допомогою перетягування.
{
"title": "string", // Required: Card name displayed on tile
"records": [], // Required: Array of Record objects
"updated_at": 1763938832 // Optional: Unix timestamp of last update
}
| Властивість | Тип | Обов'язково | Опис |
|---|---|---|---|
| title | string | Так | Назва, що відображається на блоці картки |
| records | array | Так | Масив об'єктів записів (може бути порожнім) |
| updated_at | integer | Ні | Мітка часу Unix для відображення "останнього оновлення" |
{
"title": "Work Credentials",
"records": [
// Record objects go here...
],
"updated_at": 1763938832
}
Записи
Записи - це елементи всередині картки. Вони з'являються на лівій бічній панелі, коли картка відкрита, і їх можна вибрати для перегляду розділів. Думайте про записи як про окремі елементи або записи (наприклад, "Обліковий запис Gmail", "Робочий VPN", "Дані для входу в базу даних").
{
"title": "string", // Required: Record name displayed in sidebar
"data": [] // Required: Array of Section objects
}
| Властивість | Тип | Обов'язково | Опис |
|---|---|---|---|
| title | string | Так | Назва, що відображається у списку записів |
| data | array | Так | Масив об'єктів розділів (може бути порожнім) |
Примітка:
Властивість data містить "розділи", а не необроблені дані. Ця назва збережена з історичних причин. Кожен елемент у масиві data є об'єктом розділу.
{
"title": "Gmail Account",
"data": [
{
"name": "Login Details",
"values": [
// Value objects go here...
]
}
]
}
Розділи
Розділи групують пов'язані значення всередині запису. Вони забезпечують організаційний рівень, який допомагає класифікувати різні типи інформації (наприклад, "Дані для входу", "Варіанти відновлення", "Ключі API"). Кожен розділ має назву та містить кілька значень.
{
"name": "string", // Required: Section heading/label
"values": [] // Required: Array of Value objects
}
| Властивість | Тип | Обов'язково | Опис |
|---|---|---|---|
| name | string | Так | Заголовок розділу, що відображається над значеннями |
| values | array | Так | Масив об'єктів значень, що містять ваші дані |
{
"name": "Login Details",
"values": [
{
"value": "user@example.com",
"type": "note",
"id": "value_1763938238781_3jh5i3r20"
},
{
"value": "supersecretpassword123",
"type": "secret",
"id": "value_1763938251026_fvjeq1vg9"
}
]
}
Значення
Значення - це фактичні записи даних: паролі, нотатки та коди TOTP, які ви зберігаєте. Кожне значення має тип, який визначає, як воно відображається та як з ним взаємодіють в інтерфейсі.
{
"value": "string", // Required: The actual content
"type": "secret" | "note" | "totp" | "link" | "email" | "username", // Required
"id": "string" // Optional: Unique identifier for sorting
}
| Властивість | Тип | Обов'язково | Опис |
|---|---|---|---|
| value | string | Так | Фактичний вміст (пароль, текст нотатки, секрет TOTP) |
| type | string | Так | Одне з наступних: "secret", "note", "totp", "link", "email" або "username" |
| id | string | Ні | Унікальний ідентифікатор, що використовується для сортування та посилань |
Типи значень
| Тип | Відображення | Випадок використання |
|---|---|---|
| "secret" | Приховано за замовчуванням (•••••), натисніть, щоб показати | Паролі, ключі API, конфіденційні дані |
| "note" | Завжди видимий звичайний текст | Імена користувачів, електронні адреси, URL-адреси, неконфіденційна інформація |
| "totp" | Генерує 6-значні коди в реальному часі | Секрети 2FA (кодування Base32) |
| "link" | Гіперпосилання, на яке можна натиснути | URL-адреси, адреси веб-сайтів |
| "email" | Електронна адреса з посиланням mailto | Адреси електронної пошти |
| "username" | Завжди видимий звичайний текст з іконкою користувача | Імена користувачів, ідентифікатори облікових записів |
// 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"
}
Повний приклад
Ось повна та валідна структура даних, що демонструє всю ієрархію з кількома картками, записами, розділами та різними типами значень.
{
"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
}
]
}
Необроблений режим (Raw Mode)
Якщо ваші розшифровані дані не відповідають очікуваній структурі, Hexbon все одно відобразить їх, але в необробленому режимі. Це означає, що ви побачите свої дані як простий JSON без інтерактивних функцій, які надають структуровані дані.
| Функція | Структурований режим | Необроблений режим |
|---|---|---|
| Інтерактивні блоки карток | ||
| Зміна порядку перетягуванням | ||
| Маскування секретів з перемикачем показу | ||
| Генерація коду TOTP в реальному часі | ||
| Редагування на місці та автозбереження | ||
| Кнопки копіювання в буфер обміну |
Ваші дані завжди в безпеці
Необроблений режим впливає лише на візуалізацію, а не на безпеку. Ваші дані завжди зашифровані за допомогою AES-256-GCM, незалежно від структури. Ви просто не отримаєте інтерактивних функцій інтерфейсу, якщо структура не збігається.
Перевірте свою структуру даних
Скористайтеся нашим інтерактивним інструментом валідації, щоб перевірити структуру даних у реальному часі.
Спробувати інструмент валідації