Files
wiki/Catalogue-Self-Hosted/apps/app-ots.md
T
2026-06-09 18:40:21 +02:00

3.5 KiB


title: OTS (One Time Secret) created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, file-sharing, secrets, one-time, encryption] confidence: high contested: false sources: [https://selfh.st/apps/?tag=File+Sharing, https://github.com/Lukaeses/ots]

📁 OTS (One Time Secret)

Service de partage de secrets éphémères type PrivNote, basé sur le projet original onetimesecret, avec destruction après lecture.

📋 Informations Générales

Attribut Valeur
Nom OTS (One Time Secret)
Slug ots
Description Partage de secrets one-time, destruction après première lecture
Site officiel https://onetimesecret.com
Repository https://github.com/Lukaeses/ots
Stars 756
Licence MIT
Langage principal Ruby
Catégorie File Sharing (secrets éphémères)
Tags [catalogue, file-sharing, secrets, one-time, encryption]

📝 Description

OTS (One Time Secret) est une implémentation open source du concept popularisé par le service public onetimesecret.com. L'idée est de permettre de transmettre une information sensible (mot de passe, clé API, URL privée) via un canal non chiffré (chat, email, SMS) sans que l'information ne persiste.

Le secret est chiffré côté serveur, l'URL générée n'est valable qu'une seule fois : dès que le destinataire l'ouvre, le secret est révélé puis immédiatement détruit. L'émetteur peut optionnellement recevoir une notification par email confirmant la lecture. Une variante permet aussi de recevoir le secret via email sans connaître l'URL directement (l'URL est envoyée au destinataire).

OTS se distingue de Cryptgeon et Hemmelig par le fait qu'il ne chiffre pas côté client : le chiffrement se fait sur le serveur, ce qui implique une confiance dans l'opérateur. En contrepartie, l'API est plus simple et l'intégration avec des outils tiers (CLI, plugins) plus aisée. Convient pour un usage interne d'équipe de confiance.

🚀 Installation

Via Docker (recommandé)

# docker-compose.yml
services:
  ots:
    image: ghcr.io/lukaeses/ots:latest
    container_name: ots
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      - REDIS_URL=redis://redis:6379
      - SECRET_KEY=changeme
    depends_on:
      - redis
  redis:
    image: redis:7-alpine
    volumes:
      - ots_redis:/data
volumes:
  ots_redis:

Installation manuelle

git clone https://github.com/Lukaeses/ots.git
cd ots
bundle install
ruby app.rb

⚙️ Configuration

  • Backend Redis (ou filesystem) pour la persistance
  • TTL par défaut des secrets
  • Personnalisation des templates d'email
  • Branding (logo, couleur)

🔗 Alternatives

  • FlashPaper — PrivNote-like, plus minimaliste
  • PrivateBin — pastebin chiffré, plus complet
  • Hemmelig — chiffré E2E, support fichiers

🔒 Sécurité

  • Chiffrement serveur AES-256 du secret au repos
  • Destruction après première lecture garantie
  • Aucune persistance après expiration
  • HTTPS obligatoire (le secret transite par URL)

📚 Ressources

🔗 Pages Liées