> ## Documentation Index
> Fetch the complete documentation index at: https://meta.fluxdrop.pl/llms.txt
> Use this file to discover all available pages before exploring further.

# Flux developer documentation

> Internal developer docs for the Flux encrypted file platform, covering the Metadata Service, DEK wrapping, Valkey caching, and platform architecture.

Flux is a secure, encrypted file platform built for privacy-first storage and delivery. These docs cover the internal services, API endpoints, and architecture that power Flux.

<Warning>
  These docs are intended for **internal developers only**. All services run on the internal network and are **not** accessible from the public internet. If you're looking for the user-facing product, visit [fluxdrop.eu](https://fluxdrop.eu).
</Warning>

## Platform services

Flux is composed of modular services, each responsible for a specific domain:

<CardGroup cols={2}>
  <Card title="Metadata Service" icon="database" href="/api/metadata/overview">
    Manages file metadata, DEK wrapping, caching with Valkey, and aggregate statistics.
  </Card>

  <Card title="Thumbnail Service" icon="image" href="/api/thumbnails/overview">
    Generates and serves responsive thumbnails for uploaded files.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/api/webhooks/overview">
    Sends notifications about events in the Flux ecosystem.
  </Card>

  <Card title="Flux Pass" icon="shield-halved" href="/api/fluxpass/overview">
    Handles authentication, sessions, and access control.
  </Card>
</CardGroup>

## Key concepts

Before diving into the API, familiarize yourself with these core concepts:

| Concept        | Description                                                                                 |
| -------------- | ------------------------------------------------------------------------------------------- |
| **DEK**        | Data Encryption Key - a per-file symmetric key used to encrypt file contents.               |
| **Master key** | Server-side key used to wrap (encrypt) and unwrap (decrypt) DEKs.                           |
| **Valkey**     | In-memory cache layer used to store frequently accessed metadata with TTL-based expiration. |
| **Convex**     | The primary database backing persistent metadata and file records.                          |

## FAQ

<AccordionGroup>
  <Accordion title="Is my data encrypted?" icon="lock">
    Yes! **Every file uploaded to Flux is fully encrypted**, with the sole exception of file thumbnails. We use a combination of Master Keys and per-file Data Encryption Keys (DEKs).
  </Accordion>

  <Accordion title="Can I use the API for my own projects?" icon="code">
    Currently, our API is restricted to internal use only. We are focused on building a rock-solid foundation for our own web applications before opening up to third-party developers.
  </Accordion>

  <Accordion title="Where is the data stored?" icon="server">
    We utilize highly reliable S3-compatible object storage across multiple regions, paired with our fast Valkey caching layer to ensure minimal latency.
  </Accordion>
</AccordionGroup>

## API conventions

All Flux API endpoints follow a consistent pattern:

```
/api/{version}/{resource}
```

* Current version: **v1**
* No hyphens in endpoint paths
* Standard methods: `POST`, `GET`, `DELETE`

Read the full [API conventions](/api/metadata/overview) guide for details.

## Get started

<Card title="Quickstart" icon="rocket" href="/quickstart">
  Set up your environment and make your first API call in minutes.
</Card>
