DocumentationIntroduction

Nuxor Documentation

Nuxor is a privacy-focused platform providing end-to-end encrypted storage, anonymous file sharing, zero-knowledge proofs, and secure communication channels.

Encrypted Vault

Zero-knowledge encrypted storage for sensitive files

Anonymous Sharing

Share files without revealing your identity

ZK File Proofs

Prove ownership without exposing content

Private Channels

End-to-end encrypted messaging

Quick Start

Get started with Nuxor in just a few steps. No account required for most features.

1

Choose a Feature

Select the feature you need from the homepage - Encrypted Vault, File Sharing, ZK Proofs, or Private Channels.
2

Create a Passphrase

For encrypted features, create a strong passphrase. This will be used to derive your encryption keys locally.
3

Start Using

Upload files, share links, or start conversations. All encryption happens in your browser.
Important
Your passphrase is never sent to our servers. If you lose it, your data cannot be recovered.

Encrypted Vault

Zero-knowledge encrypted storage

Overview

The Encrypted Vault provides secure, zero-knowledge storage for your sensitive files. All encryption occurs client-side using AES-256-GCM, ensuring that your data remains private even from us.

Key Features

  • Zero-Knowledge Encryption

    Files are encrypted before upload. We never see your data.

  • Client-Side Key Derivation

    Keys derived from your passphrase using PBKDF2, never leaving your device.

  • AES-256-GCM Encryption

    Industry-standard authenticated encryption.

Technical Details

Encryption Flow
// Key derivation
const key = await crypto.subtle.deriveKey(
  { name: "PBKDF2", salt, iterations: 100000, hash: "SHA-256" },
  baseKey,
  { name: "AES-GCM", length: 256 },
  false,
  ["encrypt", "decrypt"]
);

// Encryption
const iv = crypto.getRandomValues(new Uint8Array(12));
const ciphertext = await crypto.subtle.encrypt(
  { name: "AES-GCM", iv },
  key,
  plaintext
);
Best Practice
Use a passphrase of at least 16 characters with a mix of letters, numbers, and symbols for maximum security.

Anonymous File Sharing

Privacy-focused file transfers

Overview

Share files securely without revealing your identity. No account required, no tracking, and files are automatically deleted after expiration.

5GB
Max file size
7d
Max retention
E2E
Encrypted

How to Share Files

1

Upload your file

Drag and drop or click to select files up to 5GB. Files are encrypted automatically.
2

Configure options

Set an optional password and choose expiration time (1 hour to 7 days).
3

Share the link

Copy the generated link and share it with your recipient through any channel.
Privacy Note
We do not log IP addresses, user agents, or any identifying information. Files are stored encrypted and deleted after expiration.

ZK File Proofs

Zero-knowledge verification

What are Zero-Knowledge Proofs?

Zero-Knowledge Proofs (ZKPs) allow you to prove something is true without revealing the underlying data. With ZK File Proofs, you can prove file ownership, integrity, or existence at a specific time without exposing the actual content.

Use Cases

Legal Documents

Prove a contract existed at a specific time without revealing its contents.

Intellectual Property

Establish creation date for patents or copyrights while keeping content private.

Compliance Audits

Verify data integrity for regulatory requirements without data exposure.

Research Data

Prove original research findings while maintaining confidentiality.

How It Works

Proof Generation
// Generate cryptographic hash of file
const hash = await crypto.subtle.digest("SHA-256", fileBuffer);

// Create timestamped proof
const proof = {
  hash: arrayBufferToHex(hash),
  timestamp: Date.now(),
  signature: await sign(hash, privateKey)
};

// Verify proof (anyone can do this)
const isValid = await verify(proof.hash, proof.signature, publicKey);

Private Channels

End-to-end encrypted messaging

Overview

Create ephemeral, end-to-end encrypted communication channels. Messages are encrypted in your browser before sending, and only participants with the shared secret can decrypt them.

Security Features

  • End-to-End Encryption

    All messages encrypted client-side using AES-256-GCM.

  • Shared Secret Authentication

    Only users with the passphrase can join and read messages.

  • Ephemeral Messages

    Messages are not stored permanently on servers.

Getting Started

1

Create a Room

Enter a secret passphrase and click "Create Room". You'll receive a Room ID.
2

Share Credentials

Share the Room ID and Secret with participants through separate secure channels.
3

Join and Chat

Participants enter the Room ID and Secret to join. All messages are encrypted locally.
Security Tip
For maximum security, share the Room ID and Secret through different channels (e.g., Room ID via email, Secret via SMS or in person).
Message Encryption Flow
// Derive key from shared secret + room ID
const key = await deriveKeyFromPassphrase(secret, roomId);

// Encrypt message before sending
const iv = crypto.getRandomValues(new Uint8Array(12));
const ciphertext = await crypto.subtle.encrypt(
  { name: "AES-GCM", iv },
  key,
  new TextEncoder().encode(message)
);

// Send encrypted payload
await send({ iv, ciphertext });

Security Model

Nuxor is built with a zero-trust security model. All sensitive operations happen client-side, and we never have access to your unencrypted data.

ComponentAlgorithmKey Size
EncryptionAES-GCM256 bits
Key DerivationPBKDF2100,000 iterations
HashingSHA-256256 bits
IV Generationcrypto.getRandomValues96 bits

Frequently Asked Questions

Can you recover my data if I lose my passphrase?

No. Your passphrase is used to derive encryption keys locally. We never store or have access to your keys. If you lose your passphrase, your encrypted data cannot be recovered.

Is my data stored on your servers?

Encrypted data is stored temporarily for file sharing and vault features. However, we only store ciphertext - the encrypted form of your data. We never have access to the plaintext.

Do I need an account?

No account is required for most features. Anonymous file sharing, ZK proofs, and private channels work without registration.

Is the code open source?

Our encryption libraries and client-side code are open source for transparency and security auditing.