Izstrādātājiem & AI

Vairogs API & MCP

Piekļūstiet sava seifa saturam programmatiski ar zero-knowledge šifrēšanu.

Tag API v2

Dual-Key

Divslēgu zero-knowledge API ar tagu filtrēšanu un pilnu CRUD funkcionalitāti.

SDK Pieejams

Vieglākai integrācijai izmantojiet oficiālo SDK: npm install @vairogs.lv/sdk

Lasīt SDK dokumentāciju

Tag API v2 ļauj ārējiem klientiem (piemēram, Claude Desktop MCP serveriem) piekļūt seifa saturam, filtrējot pēc taga. Tas izmanto divslēgu sistēmu, kur:

Divslēgu Drošības Modelis

Access Key

vgtk_a_xxxxxxxxxxxxxxxxxxxxx
  • Tiek sūtīts serverim autentifikācijai
  • Serverī glabājas tikai bcrypt hash
  • Droši lietot HTTP header

Decryption Key

vgtk_d_xxxxxxxxxxxxxxxxxxxxx
  • NEKAD netiek sūtīts serverim!
  • Izmanto tikai lokāli dešifrēšanai
  • Redzams tikai reizi pie izveidošanas

Svarīgi!

Decryption key (vgtk_d_xxx) glabājiet drošā vietā! Ja tas tiks zaudēts, būs jāizveido jauna API atslēga. Serveris šo atslēgu nekad neglabā un nevar to atjaunot.
┌─────────────────────────────────────────────────────────────┐
│  1. ATSLĒGU ĢENERĒŠANA (Klients)                            │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  Access Key:      vgtk_a_xxx  →  Serverim (hash)           │
│  Decryption Key:  vgtk_d_xxx  →  NEKAD nesūta serverim!    │
│                                                             │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│  2. API PIEPRASĪJUMS                                        │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  Klients:  X-API-Key: vgtk_a_xxx  (tikai access key!)      │
│      ↓                                                      │
│  Serveris: Validē ar bcrypt.compare()                      │
│      ↓                                                      │
│  Atgriež: Šifrētus datus + key slots                       │
│      ↓                                                      │
│  Klients: Dešifrē ar vgtk_d_xxx (lokāli!)                  │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Galvenās Iespējas

True Zero-Knowledge

Dešifrēšanas atslēga nekad neatstāj jūsu ierīci. Pat mēs nevaram dešifrēt jūsu datus.

Tagu Filtrēšana

API atslēgas var ierobežot ar konkrētu tagu vai piekļūt visam seifam.

Duālā Šifrēšana

Vienumi šifrēti ar DEK (Data Encryption Key), kas iesaiņots vairākiem saņēmējiem.

Pilns CRUD

Lasīt, izveidot, atjaunināt un dzēst vienumus caur API.

Atbalstītie Vienumu Tipi

Visi 5 seifa vienumu tipi ir atbalstīti: PASSWORD, NOTE, TOTP, IMAGE, DOCUMENT

Šifrēšanas Arhitektūra

Tag API v2 izmanto asimetrisko šifrēšanu (X25519 + NaCl box) kombinācijā ar simetrisku šifrēšanu (AES-256-GCM):

Šifrēšanas Plūsma

  1. 1DEK Ģenerēšana: Katram vienumam tiek izveidota unikāla 32-baitu gadījuma atslēga (Data Encryption Key).
  2. 2Datu Šifrēšana: Vienuma dati tiek šifrēti ar AES-256-GCM, izmantojot DEK.
  3. 3DEK Iesaiņošana: DEK tiek iesaiņots (ar NaCl box) gan galvenajam lietotājam, gan MCP atslēgai.
  4. 4Key Slots: Katrs saņēmējs saņem savu "key slot" ar šifrētu DEK.
javascript
// Atslēgas pāra atvasināšana no Decryption Key
import nacl from 'tweetnacl';
import crypto from 'crypto';

const DECRYPT_KEY = 'vgtk_d_xxxxxxxxxxxxxxxxxxxxx';  // NEKAD nesūta!
const MCP_SALT = 'vairogs-mcp-key-derivation-v1';

// 1. Atvasināt 32-baitu seed ar PBKDF2
const seed = crypto.pbkdf2Sync(DECRYPT_KEY, MCP_SALT, 100000, 32, 'sha256');

// 2. Ģenerēt X25519 atslēgas pāri
const keypair = nacl.box.keyPair.fromSecretKey(new Uint8Array(seed));

// keypair.publicKey  - atbilst mcpPublicKey serverī
// keypair.secretKey  - izmanto dešifrēšanai (lokāli!)

Kriptogrāfiskie Parametri

MCP_SALT: vairogs-mcp-key-derivation-v1
PBKDF2_ITERATIONS: 100,000
AES_KEY_LENGTH: 32 bytes (256 bits)
IV_LENGTH: 12 bytes (96 bits)
AUTH_TAG_LENGTH: 16 bytes (128 bits)
Key Prefix: Pirmie 15 simboli (vgtk_a_xxxxxxx)

Ātruma Ierobežojumi & Atļaujas

FREE Līmenis

60
pieprasījumi / minūtē

PRO Līmenis

600
pieprasījumi / minūtē

Noklusējuma Atļaujas

vault:readLasīt seifa metadatus
items:readLasīt vienumus
items:writeIzveidot/atjaunināt
items:deleteDzēst vienumus
files:readLejupielādēt failus
files:writeAugšupielādēt failus