Privacy Policy — Krest

Last updated: 2026-06-11

This document describes which data Krest handles, where it goes, and what choices you have. Krest is built privacy-first: the app works without an account, and the cryptographic anchoring service never sees the content of your media.


1. Who runs Krest

TODO before launch: insert legal entity, postal address, jurisdiction and contact email of the operator (controller in the sense of GDPR Art. 4(7)).
Operator:   <Firma / Inhaber>
Address:    <Strasse, PLZ, Ort, Land>
Email:      <privacy@deine-domain.de>

2. What Krest processes — and what it does not process

2.1 Data that never leaves your device

2.2 Data the Anchoring Relay sees

The relay accepts only opaque cryptographic material:

install on a genuine Apple device.

retained for at most 30 days for abuse prevention and then deleted.

The relay does not see, store or forward your media bytes, file names, sensor data, captions, contacts or any personal identifier.

2.3 Data the Share Relay sees

When you create a krest://share/<token> link, Krest uploads the already-encrypted ciphertext to a transport relay. The relay sees:

above).

The relay never receives the decryption key — that travels solely inside the share link (URL fragment or query parameter you forward via WhatsApp, iMessage etc.).

Single-use links are deleted immediately after the first download. Otherwise, links expire at the TTL you chose (max 7 days) and are purged.

2.4 Data the Lookup Service sees

When you verify someone else's content, the app sends only the SHA-256 hash of their file. The lookup service responds with the timestamp, Merkle proof and Bitcoin anchor it can find for that hash. We log nothing user-identifying.

2.5 Bitcoin anchoring

Krest writes Merkle roots into the Bitcoin blockchain via OP_RETURN transactions. The blockchain is by design public and permanent. The written data is a 48-byte hash — no media, no identity.

2.6 Legal bases (GDPR Art. 6)

We process the limited data described above on the following bases:

anonymous device public key, accepting Merkle roots, anchoring, lookup and share transport: Art. 6(1)(b) (performance of the service you asked for) and Art. 6(1)(f) (our legitimate interest in a functioning, abuse-resistant protocol).

at most 30 days): Art. 6(1)(f) (legitimate interest in security and abuse prevention).

granted by you through iOS and used only on your device — the operator receives none of that sensor or library data, so it is not processed by us in the GDPR sense.

We do not carry out automated decision-making or profiling (Art. 22), and we do not process special categories of data (Art. 9) on our servers.

3. Permissions Krest requests on your device

PermissionWhy
CameraCapture photos / videos that get signed by the Secure Enclave.
MicrophoneAudio track for video captures.
Photo libraryOptional — to verify or share existing photos you select.
Motion sensorsAccelerometer / gyroscope reading folded into the capture proof.
App-Attest (Secure Enc.)Prove to the relay that the capture really came from your device.

All permissions are opt-in and can be revoked any time in iOS Settings.

4. Data retention

SurfaceRetention
Anchoring Relay logs30 days, then deleted.
Share Relay blobsUntil single-use download or TTL expiry (max 7 days).
Lookup Service queriesNot logged with user-identifying fields.
Bitcoin blockchainPermanent (public). Contains only 32-byte hashes.
Local app databaseStays on device. Deleted with the app.

5. Your rights under GDPR

If you are in the EU/EEA you have the right to:

Because Krest is account-less, the relay does not store personal data that could be linked back to you as an individual. If you believe a piece of data is identifiable nonetheless, contact us with details and we will delete or rectify within the legally required period.

6. Transfers outside the EU/EEA

Server infrastructure currently runs in Germany (Hetzner Cloud). Bitcoin anchoring transactions are submitted to the public Bitcoin network and are therefore visible globally, but as stated above contain only non-identifying hash data.

TODO before launch: confirm a data processing agreement (AV-Vertrag, GDPR Art. 28) is in place with every processor that touches request metadata (e.g. the hosting provider) and name them here.

7. Children

Krest is not designed for children under the age of digital consent in your jurisdiction (16 in most EU member states, 13 in the US per COPPA).

8. Changes

We may update this policy as features evolve. The "last updated" date at the top of this document reflects the most recent revision. Material changes will be announced in the app changelog.

9. Contact

For privacy questions or data-protection requests:

<privacy@deine-domain.de>

See also: TERMS.md (terms of service) and IMPRESSUM.md (provider identification under § 5 DDG). German version: DATENSCHUTZ.md.