Wij openen een design partner program. Bekijk het programma

DEVELOPERS

Lever soevereine opslag door architectuur. Zonder één regel cryptografie te schrijven.

Eén SDK voor client-side versleuteling, in TypeScript: installeer hem, wijs hem naar de object storage die u al draait, lever. Versleuteling, spreiding en publieke verankering gebeuren achter een strakke API, dus niets daarvan is code die u schrijft, beheert of verdedigt in een securityreview. Uw gebruikers zien gewoon bestanden.

QUICKSTART

Installeren, wijzen, leveren.

Initialiseer een client, maak een project aan, upload een bestand, lees het terug. Alles onder de API-lijn, sleutelafleiding, chunking, redundantie, verankering, is code die u nooit schrijft, test of gepatcht houdt. En vraagt uw securityreview wat er precies in die calls zit, dan is de volgende sectie het antwoord.

import { readFile } from "node:fs/promises";

import { DataPrismKey, DEFAULT_ENCRYPTION } from "@dataprism/sdk/crypto";
import { CloudStandard } from "@dataprism/sdk/standard";
import { FilePipeline } from "@dataprism/sdk/files";

// Client, providers, project and key secret, one config file in your project:
// docs.dataprism.co/sdk/client
import { client, providers, project, secret } from "./dataprism";

// Create a project: an encrypted namespace you control
const key = DataPrismKey.fromSecret(secret, DEFAULT_ENCRYPTION);
const standard = new CloudStandard(key);
const { cloudId } = await client.prism(standard).create(project);

// Upload: encrypted on this machine, dispersed with redundancy,
// integrity anchored on a public registry
const bytes = await readFile("contract.pdf");
const pipeline = new FilePipeline({
  standard,
  execution: client.execution,
  cloudId,
  providers,
});
const { index } = await pipeline.upload("contract.pdf", bytes, {
  chunkSize: 65_536,
  dataShards: 7,
  parityShards: 3,
});

// Download: shards fetched in parallel, reconstructed from any
// quorum, decrypted locally
const restored = await pipeline.download(index);

ONDER DE MOTORKAP

Vier fasen. Geen magie.

Voordat u een versleutelingslaag uitrolt, vraagt iemand aan uw kant precies wat de machine verlaat, en wat er gebeurt als een provider uitvalt. Hier is de pipeline achter upload(), fase voor fase, met een link naar de docs-pagina die van elk het volledige detail draagt. Genoeg om die review te beantwoorden zonder onze broncode te lezen.

  1. 01. CHUNKING

    Content-defined chunking

    Bewerkt u een groot bestand en uploadt u het opnieuw, dan reizen alleen de delen die echt veranderd zijn: bestanden worden geknipt op natuurlijke inhoudsgrenzen, niet op vaste posities, dus één invoeging hersnijdt niet alles wat erna komt. U krijgt re-uploads ter grootte van het verschil, zonder zelf een diff-formaat te onderhouden.

    Chunking, in de docs over de file pipeline
  2. 02. VERSLEUTELING

    Convergent encryption, op uw eigen machine

    Elke chunk wordt op uw machine versleuteld voordat er iets vertrekt: geen sleutelbeheerdienst om op te zetten, niets in bewaring te geven. De afleiding is deterministisch, dus ongewijzigde inhoud wordt herkend als al opgeslagen: een nieuwe upload verplaatst alleen wat echt is veranderd, en identieke inhoud beslaat uw opslag één keer in plaats van één keer per kopie.

    Convergent encryption, in de docs over de file pipeline
  3. 03. SPREIDING

    Redundantie over onafhankelijke providers

    Versleutelde chunks worden uitgebreid met de redundantie die u kiest en gespreid over de onafhankelijke providers die u instelde, zodat een storing bij een provider, of een provider die uw account laat vallen, tot die redundantie een non-event blijft. Geen eigen failoverpad om te schrijven, te oefenen en synchroon te houden.

    Redundantie, in de docs over de file pipeline
  4. 04. VERANKERING

    Een verzegelde index, verankerd in een openbaar register

    Wat verankerd wordt is een versleutelde index van constante omvang, ongeacht de bestandsgrootte, en de integriteit ervan rust op geen enkele operator, ook niet op ons: bij het lezen wordt uw data uit elk quorum van fragmenten gereconstrueerd en lokaal ontsleuteld. Aantonen dat een bestand niet is gewijzigd is dan een controle die de vrager zelf uitvoert, geen endpoint dat u moet bouwen en onderhouden.

    Prisms en verankering, in de docs
EEN VERWIJDERINGSCYCLUS DIE U KUNT LATEN ZIEN

Gewist betekent opgesomd, en dan gewist

Vraagt een klant of een toezichthouder of gewist ook echt gewist betekent, dan kunt u wijzen op een gedocumenteerde cyclus in plaats van een vinkje in een dashboard: de SDK-referentie specificeert verwijderen als elk fragment opsommen dat een bestand achterliet, elk daarvan bij zijn provider weghalen, en melden wat er misging, provider voor provider. Dat is een afstemmingstaak die u niet zelf hoeft te schrijven en te beheren.

De verwijderingscyclus, in de SDK-referentie

HOE DE SDK DENKT

Eén SDK voor client-side versleuteling, drie garanties.

SLEUTELS BLIJVEN BIJ U

Alles wat vertrekt is ciphertext

Chunk-sleutels worden afgeleid uit de inhoud zelf, en dat maakt het opnieuw uploaden van ongewijzigde data goedkoop. De index die ze samenvoegt wordt verzegeld met een sleutel die is afgeleid van een geheim dat u beheert, en geen van beide wordt ooit naar ons gestuurd: alles wat de SDK naar buiten stuurt is al versleuteld. Een provider toevoegen verbreedt nooit wat iemand kan lezen.

Wat elke actor wel en niet kan zien staat uiteengezet in onze verifieerbare beveiligingsarchitectuur.

ONZICHTBAAR VOOR GEBRUIKERS

Geen cryptografie zichtbaar voor eindgebruikers

Uw gebruikers krijgen nooit cryptografie te zien. Sleutels en uitvoering blijven achter de eigen login en UI van uw product, dus er komt geen stap bij in uw onboarding en niets extra's voor uw supportteam om te beantwoorden. Voor hen is het gewoon opslag die toevallig voor ieder ander onleesbaar is.

VAN BEGIN TOT EIND GEDOCUMENTEERD

Volledige, openbare documentatie

Elke laag is openbaar gedocumenteerd op docs.dataprism.co: de SDK-referentie, de file pipeline, de contracten, uitvoerbare voorbeelden in Node.js en Next.js. Kunt u een README lezen, dan kunt u ons beoordelen voordat u ooit met sales spreekt.

INTEGRATIEDOELEN

Wijs hem naar de opslag die u al draait.

Geen nieuwe opslagleverancier om binnen te halen, geen infrastructuurmigratie, geen protocol om te leren: waar de fragmenten ook belanden, de pipeline achter de SDK blijft dezelfde. Een provider toevoegen of laten vallen is een configuratiewijziging, geen project.

  • AWS S3

    De buckets die u al beheert worden spreidingsdoelen voor versleutelde fragmenten.

  • CLOUDFLARE R2

    Een onafhankelijke provider die de spreidingsset verbreedt.

  • SCALEWAY

    Europese object storage als onafhankelijk spreidingsdoel.

  • ON-PREM

    Object storage die u zelf draait sluit aan bij dezelfde set.

Begin bij de docs.

Deze pagina toont de vorm van het systeem. De docs gaan helemaal de diepte in: de volledige SDK-referentie, de interne werking van de pipeline en uitvoerbare voorbeelden in Node.js en Next.js.