# oCIS: Data Safety & Infrastructure Transparency

This is a quick guide to show how I've set things up, where your data actually lives, and what happens if something breaks. My main goal is to make sure your files are **never permanently lost**, even if the service goes offline for a bit.

## 1. Where is the data?

I use a multi-region setup in Europe so that your files and settings aren't stuck in one single building.

| **Data Type** | **Primary Location** | **Infrastructure** | **Privacy** |
| :--- | :--- | :--- | :--- |
| **Your Files** (Photos, etc.) | Nuremberg, Germany | S3 Object Storage (NBG1) | EU (GDPR) |
| **User Accounts & Metadata** | Nuremberg, Germany | Local persistent storage on cluster nodes | EU (GDPR) |
| **Emergency File Backups** | Helsinki, Finland | Storage Box Vault (HEL1) | EU (GDPR) |

## 2. Technical Setup & Reliability

I'm using a modern "cloud-native" stack to keep things stable:

* **3-Node Server Cluster:** The oCIS application runs as a set of microservices across three different server nodes. If one server crashes, the system automatically moves your connection to a healthy one.

* **S3 Storage Redundancy:** Your files are stored using "Erasure Coding." This means they are split into fragments and spread across many physical disks. The system can handle three disks dying at the exact same time without losing a single byte of your data.

* **Self-Contained Architecture:** Unlike traditional setups, oCIS doesn't require an external database. User accounts, metadata, and file structure are managed by built-in services with their own persistent storage.

## 3. The "Never Unrecoverable" Guarantee

I don't guarantee 100% "up-time" (the site might go down for maintenance or if a datacenter has a major issue), but I follow a multi-region safety approach to prevent data loss:

* **Daily Sync to Finland:** Every 24 hours, the system automatically mirrors all files from the Nuremberg storage to a separate **Storage Box** in Helsinki.

* **Immutable Snapshots:** The backup vault in Helsinki uses "Snapshots." These are read-only versions of the past. If a bug accidentally deletes something, I can "roll back" the storage to how it looked yesterday.

## 4. Technologies I Use

If you're curious about the specific tools I'm using to run this, here is the tech stack:

* [**oCIS (ownCloud Infinite Scale)**](https://owncloud.dev/ocis/): The core file sync and share platform for your files. A modern, self-contained Go application.

* [**Kubernetes**](https://kubernetes.io/): The "brain" that manages my 3-node cluster and ensures the apps stay running.

* [**Hetzner**](https://www.hetzner.com/): The German cloud provider where all the physical servers are located.

  * [**Object Storage (S3)**](https://www.hetzner.com/de/storage/object-storage/): The specific high-durability service used for storing your actual files in Nuremberg.

  * [**Storage Box**](https://www.hetzner.com/storage/storage-box/): The independent storage vault in Helsinki used for the daily file mirrors and snapshots.

## 5. Infrastructure Costs (Monthly)

The following table shows the total monthly costs for the entire setup. These are the platform costs for everyone combined, not per person.

**Note on Server Costs:** I am covering the server node costs myself, as I utilize the cluster for other personal projects as well.

| **Component** | **Description** | **Cost (Approx.)** |
| :--- | :--- | :--- |
| **Servers (Nodes)** | 3x Cloud Instances (**CAX11 ARM64**) | \~€13.50 |
| **S3 Object Storage** | Primary file storage (NBG1) | \~€7.72\* |
| **Storage Box** | 1 TB Backup Vault in Helsinki (BX11) | \~€3.81 |
| **TOTAL** | **Combined platform cost** | **\~€25.03** |

*\*The S3 base price includes the first 1 TB of storage and 1 TB of egress traffic. If usage exceeds these limits, pay-as-you-go rates apply (approx. €7.74 per additional TB).*

> **Performance Note:** I am currently evaluating if the **CAX11 ARM64** instances are sufficient for our specific needs. If the system feels slow during heavy use, I may upgrade these to larger instances in the future.

## 6. Privacy & Security

* **Sovereign Cloud:** Everything stays in the EU. I don't use any US-based companies (like AWS or Google) to store the data, which keeps it away from the US CLOUD Act.

* **Admin Access:** Right now, data is stored "at rest" without server-side encryption. This makes the system faster and easier for me to fix if things break, but it means I (as the admin) can technically see the files on the backend.

* **End-to-End Privacy:** If you have extremely private documents, I recommend encrypting them on your computer (using something like Cryptomator) before uploading them.

## 7. What happens if...?

| **Event** | **What you'll see** | **My Recovery Plan** |
| :--- | :--- | :--- |
| **A single server fails** | Nothing / Minimal lag | Automatic move to a healthy server node. |
| **You accidentally delete a file** | It's gone | I can try to pull it from the 24h Helsinki Snapshot vault. |
| **Major Datacenter Disaster** | Site goes offline | I'll rebuild the setup in a new region using the S3 data and file mirrors. |

*I update this whenever I change the hardware or backup routine. Last update: April 2026.*
