How Email Forwarding Works: The Complete Guide to Forward Email's Service
Explore the technical implementations that make our service one of the most privacy-focused email forwarding solutions available.
- Page de recherche
- Table des matières
Avant-propos
Dans le paysage numérique actuel, la confidentialité des e-mails est devenue plus cruciale que jamais. Face aux violations de données, aux préoccupations en matière de surveillance et aux publicités ciblées basées sur le contenu des e-mails, les utilisateurs recherchent de plus en plus des solutions qui privilégient leur confidentialité. Chez Forward Email, nous avons conçu notre service dès le départ en plaçant la confidentialité au cœur de notre architecture. Cet article de blog explore les implémentations techniques qui font de notre service l'une des solutions de transfert d'e-mails les plus respectueuses de la confidentialité.
La philosophie de confidentialité des e-mails transférés
Avant de plonger dans les détails techniques, il est important de comprendre notre philosophie fondamentale en matière de confidentialité : vos e-mails vous appartiennent et à vous seulCe principe guide chaque décision technique que nous prenons, de la manière dont nous gérons le transfert des e-mails à la manière dont nous mettons en œuvre le cryptage.
Contrairement à de nombreux fournisseurs de messagerie qui analysent vos messages à des fins publicitaires ou les stockent indéfiniment sur leurs serveurs, Forward Email fonctionne avec une approche radicalement différente :
- Traitement en mémoire uniquement - Nous ne stockons pas vos e-mails transférés sur le disque
- Pas de stockage de métadonnées - Nous ne gardons pas de trace de qui envoie des e-mails à qui
- 100% open source - L'ensemble de notre base de code est transparent et auditable
- Chiffrement de bout en bout - Nous prenons en charge OpenPGP pour des communications véritablement privées
Implémentation de SQLite : durabilité et portabilité de vos données
L’un des avantages les plus importants de Forward Email en matière de confidentialité est notre système soigneusement conçu. SQLite implémentation. Nous avons peaufiné SQLite avec des paramètres PRAGMA spécifiques et Journalisation à écriture anticipée (WAL) pour assurer à la fois la durabilité et la portabilité de vos données, tout en maintenant les normes les plus élevées de confidentialité et de sécurité.
Voici un aperçu de la façon dont nous avons implémenté SQLite avec ChaCha20-Poly1305 comme chiffrement pour le cryptage quantique sécurisé :
// Initialize the database with better-sqlite3-multiple-ciphers
const Database = require('better-sqlite3-multiple-ciphers');
// Set up encryption with ChaCha20-Poly1305 cipher
db.pragma(key="${decrypt(session.user.password)}"
);
// Enable Write-Ahead Logging for durability and performance
db.pragma('journal_mode=WAL');
// Overwrite deleted content with zeros for privacy
db.pragma('secure_delete=ON');
// Enable auto vacuum for efficient storage management
db.pragma('auto_vacuum=FULL');
// Set busy timeout for handling concurrent access
db.pragma(busy_timeout=${config.busyTimeout}
);
// Optimize synchronization for reliability
db.pragma('synchronous=NORMAL');
// Enable foreign key constraints for data integrity
db.pragma('foreign_keys=ON');
// Set UTF-8 encoding for international character support
db.pragma(encoding='UTF-8'
);
// Optimize database performance
db.pragma('optimize=0x10002;');
// Use disk for temporary storage instead of memory
db.pragma('temp_store=1;');
Cette implémentation garantit la sécurité et la portabilité de vos données. Vous pouvez récupérer vos e-mails à tout moment en les exportant. MBOX, EML, ou aux formats SQLite. Et lorsque vous souhaitez supprimer vos données, elles disparaissent complètement : nous supprimons simplement les fichiers du stockage sur disque plutôt que d'exécuter la commande SQL DELETE ROW, qui peut laisser des traces dans la base de données.
L'aspect cryptage quantique de notre implémentation utilise ChaCha20-Poly1305 comme chiffrement lorsque nous initialisons la base de données, offrant une protection solide contre les menaces actuelles et futures pour la confidentialité de vos données.
Mécanisme intelligent de file d'attente et de nouvelle tentative : garantir la livraison des e-mails
Au lieu de nous concentrer uniquement sur la gestion des en-têtes, nous avons implémenté un mécanisme sophistiqué de file d'attente intelligente et de nouvelle tentative avec notre getBounceInfo
méthode. Ce système garantit que vos e-mails ont les meilleures chances d'être délivrés, même en cas de problèmes temporaires.
function getBounceInfo(err) {
// Initialize bounce info with default values
const bounceInfo = {
action: err.responseCode >= 500 ? 'reject' : 'defer',
category: err.category || 'other',
message: err.message,
code: err.responseCode || err.code
};
// Analyze error response to determine appropriate action
const response = err.response || err.message || '';
// Determine if the issue is temporary or permanent
if (response.includes('temporarily deferred') ||
response.includes('try again later')) {
bounceInfo.action = 'defer';
}
// Categorize the bounce reason for appropriate handling
if (response.includes('mailbox full')) {
bounceInfo.category = 'full';
bounceInfo.action = 'defer';
} else if (response.includes('user unknown')) {
bounceInfo.category = 'unknown';
}
return bounceInfo;
}
[!NOTE] Ceci est un extrait de
getBounceInfo
méthode et non l'implémentation complète. Pour consulter le code complet, rendez-vous sur GitHub.
Nous réessayons la distribution du courrier pendant 5 jours, comme le prévoient les normes du secteur. Postfix, laissant ainsi le temps aux problèmes temporaires de se résoudre. Cette approche améliore considérablement les taux de livraison tout en préservant la confidentialité.
De même, nous expurgons également le contenu des e-mails SMTP sortants après leur distribution. Cette opération est configurée dans notre système de stockage avec une période de conservation par défaut de 30 jours, que vous pouvez ajuster dans les paramètres avancés de votre domaine. Passé ce délai, le contenu de l'e-mail est automatiquement expurgé et purgé, ne laissant qu'un message d'espace réservé :
This message was successfully sent. It has been redacted and purged for your security and privacy. If you would like to increase your message retention time, please go to the Advanced Settings page for your domain.
Cette approche garantit que vos e-mails envoyés ne restent pas stockés indéfiniment, réduisant ainsi le risque de violation de données ou d'accès non autorisé à vos communications.
Ressources illimitées avec limitation de débit intelligente
Bien que Forward Email offre un nombre illimité de domaines et d'alias, nous avons mis en place une limitation intelligente du débit afin de protéger notre système contre les abus et de garantir une utilisation équitable pour tous les utilisateurs. Par exemple, les clients non professionnels peuvent créer jusqu'à 50 alias par jour, ce qui prévient le spam et la saturation de notre base de données, et permet à nos fonctionnalités de protection et de prévention des abus en temps réel de fonctionner efficacement.
// Rate limiter implementation
const rateLimiter = new RateLimiter({
// Configuration settings
});
// Check rate limits before processing
const limit = await rateLimiter.get({
key: domain:${domain.id}
,
duration: ms('1d')
});
// Apply appropriate action based on limit status
if (limit.remaining <= 0) {
// Handle rate limit exceeded
}
Cette approche équilibrée vous offre la flexibilité de créer autant d’adresses e-mail que nécessaire pour une gestion complète de la confidentialité, tout en préservant l’intégrité et les performances de notre service pour tous les utilisateurs.
Cryptage en bac à sable pour une sécurité renforcée
Notre approche unique de chiffrement sandboxé offre un avantage de sécurité crucial que de nombreux utilisateurs négligent lorsqu'ils choisissent un service de messagerie. Découvrons pourquoi le sandboxing des données, notamment celles des e-mails, est si important.
Des services comme Gmail et Proton utilisent très probablement des données partagées. bases de données relationnelles, ce qui crée une faille de sécurité fondamentale. Dans un environnement de base de données partagée, si quelqu'un accède aux données d'un utilisateur, il peut également accéder aux données d'autres utilisateurs. En effet, toutes les données utilisateur résident dans les mêmes tables de base de données, séparées uniquement par des identifiants utilisateur ou des identifiants similaires.
Forward Email adopte une approche fondamentalement différente avec notre cryptage sandboxé :
- Isolement complet:Les données de chaque utilisateur sont stockées dans son propre fichier de base de données SQLite crypté, complètement isolé des autres utilisateurs
- Clés de chiffrement indépendantes: Chaque base de données est cryptée avec sa propre clé unique dérivée du mot de passe de l'utilisateur
- Pas de stockage partagé:Contrairement aux bases de données relationnelles où tous les e-mails des utilisateurs peuvent se trouver dans une seule table « e-mails », notre approche garantit l'absence de mélange de données
- Défense en profondeur:Même si la base de données d'un utilisateur était compromise d'une manière ou d'une autre, elle ne donnerait pas accès aux données d'un autre utilisateur
Cette approche sandbox est similaire au stockage de vos e-mails dans un coffre-fort physique distinct plutôt que dans un espace de stockage partagé avec des cloisons internes. Il s'agit d'une différence architecturale fondamentale qui améliore considérablement votre confidentialité et votre sécurité.
Traitement des e-mails en mémoire : aucun stockage sur disque pour une confidentialité maximale
Pour notre service de transfert d'e-mails, nous traitons entièrement les e-mails en mémoire vive (RAM) et ne les enregistrons jamais sur disque dur ni dans des bases de données. Cette approche offre une protection inégalée contre la surveillance des e-mails et la collecte de métadonnées.
Voici un aperçu simplifié du fonctionnement de notre traitement des e-mails :
async function onData(stream, _session, fn) {
// Store clone of session since it gets modified/destroyed
const session = JSON.parse(safeStringify(_session));
try {
// Process the email stream in memory
const messageSplitter = new MessageSplitter({
maxBytes: MAX_BYTES
});
stream.pipe(messageSplitter);
const body = await getStream.buffer(messageSplitter);
const { headers } = messageSplitter;
// Update session object with useful debug info for error logs
await updateSession.call(this, body, headers, session);
// Process the email without storing to disk
// [Processing code omitted for brevity]
// Return success without persisting email data
fn();
} catch (err) {
// Handle errors without storing sensitive information
fn(err);
}
}
Grâce à cette approche, même si nos serveurs étaient compromis, les attaquants ne pourraient accéder à aucun historique de messagerie. Vos e-mails transitent simplement par notre système et sont immédiatement transférés à leur destination sans laisser de trace. Cette méthode de transfert d'e-mails sans journalisation est essentielle pour protéger vos communications de la surveillance.
Chiffrement de bout en bout avec OpenPGP pour une confidentialité totale
Pour les utilisateurs qui ont besoin du plus haut niveau de protection de la confidentialité contre la surveillance des e-mails, nous prenons en charge OpenPGP Pour un chiffrement de bout en bout. Contrairement à de nombreux fournisseurs de messagerie qui nécessitent des passerelles ou des applications propriétaires, notre implémentation fonctionne avec les clients de messagerie standard, rendant les communications sécurisées accessibles à tous.
Voici comment nous implémentons le cryptage OpenPGP :
async function encryptMessage(pubKeyArmored, raw, isArmored = true) {
// [Initial validation code omitted for brevity]
// Read the public key
const pubKey = isArmored
? await openpgp.readKey({
armoredKey: tools.prepareArmoredPubKey(pubKeyArmored),
config: { tolerant: true }
})
: pubKeyArmored;
if (!pubKey) throw new TypeError('Public key does not exist');
// Perform the actual encryption using OpenPGP
const ciphertext = await openpgp.encrypt({
message: await openpgp.createMessage({
binary: Buffer.concat([Buffer.from(bodyHeaders + '\r\n\r\n'), body])
}),
encryptionKeys: pubKey,
format: 'armored',
config: { minRSABits: 1024 }
});
// Format the encrypted message as a proper MIME message
// [MIME formatting code omitted for brevity]
return Buffer.concat([headers, breaker, Buffer.from(text)]);
}
Cette implémentation garantit que vos e-mails sont chiffrés avant de quitter votre appareil et ne peuvent être déchiffrés que par le destinataire prévu, préservant ainsi la confidentialité de vos communications, même vis-à-vis de nous. Ceci est essentiel pour protéger les communications sensibles contre les accès non autorisés et la surveillance.
Protection de contenu multicouche pour une sécurité complète
Forward Email offre plusieurs couches de protection de contenu qui sont activées par défaut pour fournir une sécurité complète contre diverses menaces :
- Protection du contenu réservé aux adultes - Filtre le contenu inapproprié sans compromettre la confidentialité
- Hameçonnage protection - Bloque les tentatives de vol de vos informations tout en préservant l'anonymat
- Protection des exécutables - Empêche les pièces jointes potentiellement dangereuses sans analyser le contenu
- Virus protection - Analyse des logiciels malveillants à l'aide de techniques de préservation de la confidentialité
Contrairement à de nombreux fournisseurs qui proposent ces fonctionnalités sur option, nous les avons désactivées, garantissant ainsi que tous les utilisateurs bénéficient de ces protections par défaut. Cette approche reflète notre engagement envers la confidentialité et la sécurité, offrant un équilibre que de nombreux services de messagerie ne parviennent pas à atteindre.
En quoi nous différencions-nous des autres services de messagerie : l'avantage technique en matière de confidentialité
Lorsque l'on compare Forward Email à d'autres services de messagerie, plusieurs différences techniques clés mettent en évidence notre approche axée sur la confidentialité :
Transparence Open Source pour une confidentialité vérifiable
Bien que de nombreux fournisseurs de messagerie se revendiquent open source, ils maintiennent souvent leur code back-end fermé. Le transfert d'e-mails est 100 % sécurisé. open source, incluant le code front-end et back-end. Cette transparence permet un audit de sécurité indépendant de tous les composants, garantissant que nos déclarations de confidentialité peuvent être vérifiées par tous.
Pas de dépendance vis-à-vis d'un fournisseur pour une confidentialité sans compromis
De nombreux fournisseurs de messagerie soucieux de la confidentialité exigent l'utilisation de leurs applications ou passerelles propriétaires. Forward Email fonctionne avec n'importe quel client de messagerie standard via IMAP, POP3, et SMTP protocoles, vous donnant la liberté de choisir votre logiciel de messagerie préféré sans compromettre la confidentialité.
Données en bac à sable pour une véritable isolation
Contrairement aux services qui utilisent des bases de données partagées où toutes les données des utilisateurs sont regroupées, notre approche sandbox garantit l'isolement complet des données de chaque utilisateur. Cette différence architecturale fondamentale offre des garanties de confidentialité nettement supérieures à celles de la plupart des services de messagerie.
Portabilité et contrôle des données
Nous pensons que vos données vous appartiennent. C'est pourquoi nous facilitons l'exportation de vos e-mails aux formats standards (MBOX, EML, SQLite) et la suppression définitive de vos données quand vous le souhaitez. Ce niveau de contrôle est rare chez les fournisseurs de messagerie, mais essentiel pour une véritable confidentialité.
Les défis techniques de la redirection d'e-mails axée sur la confidentialité
Créer un service de messagerie électronique axé sur la confidentialité pose des défis techniques importants. Voici quelques-uns des obstacles que nous avons surmontés :
Gestion de la mémoire pour le traitement des e-mails sans journalisation
Le traitement des e-mails en mémoire sans stockage sur disque nécessite une gestion rigoureuse de la mémoire pour gérer efficacement un volume important de courrier électronique. Nous avons mis en œuvre des techniques avancées d'optimisation de la mémoire afin de garantir des performances fiables sans compromettre notre politique de non-stockage, un élément essentiel de notre stratégie de protection de la confidentialité.
Détection de spam sans analyse de contenu pour un filtrage préservant la confidentialité
La plupart courrier indésirable Les systèmes de détection s'appuient sur l'analyse du contenu des e-mails, ce qui est contraire à nos principes de confidentialité. Nous avons développé des techniques permettant d'identifier les modèles de spam sans lire le contenu de vos e-mails, trouvant ainsi un équilibre entre confidentialité et convivialité, préservant ainsi la confidentialité de vos communications.
Maintenir la compatibilité avec une conception axée sur la confidentialité
Assurer la compatibilité avec tous les clients de messagerie tout en implémentant des fonctionnalités de confidentialité avancées a nécessité des solutions d'ingénierie créatives. Notre équipe a travaillé sans relâche pour garantir une confidentialité optimale, afin que vous n'ayez pas à choisir entre commodité et sécurité pour protéger vos communications par e-mail.
Meilleures pratiques de confidentialité pour les utilisateurs de Forward Email
Pour maximiser votre protection contre la surveillance des e-mails et maximiser votre confidentialité lorsque vous utilisez Forward Email, nous vous recommandons les meilleures pratiques suivantes :
- Utiliser des alias uniques pour différents services - Créez un alias de messagerie différent pour chaque service auquel vous vous inscrivez afin d'éviter le suivi entre services
- Activer le cryptage OpenPGP - Pour les communications sensibles, utilisez un cryptage de bout en bout pour garantir une confidentialité totale
- Faites régulièrement tourner vos alias de messagerie - Mettre à jour périodiquement les alias des services importants afin de minimiser la collecte de données à long terme
- Utilisez des mots de passe forts et uniques - Protégez votre compte de messagerie Forward avec un mot de passe fort pour empêcher tout accès non autorisé
- Mettre en œuvre adresse IP anonymisation - Pensez à utiliser un VPN en conjonction avec Forward Email pour un anonymat complet
Conclusion : l’avenir du transfert de courrier électronique privé
Chez Forward Email, nous pensons que la confidentialité n'est pas qu'une simple fonctionnalité, c'est un droit fondamental. Nos solutions techniques reflètent cette conviction : la redirection d'e-mails respecte votre vie privée à tous les niveaux et vous protège de la surveillance et de la collecte de métadonnées.
Alors que nous continuons à développer et à améliorer notre service, notre engagement envers la confidentialité reste inébranlable. Nous recherchons constamment de nouvelles méthodes de chiffrement, explorons de nouvelles protections de la confidentialité et peaufinons notre code source pour offrir l'expérience de messagerie la plus sécurisée possible.
En choisissant « Transférer les e-mails », vous ne choisissez pas simplement un service de messagerie : vous soutenez une vision d'Internet où la confidentialité est la norme, et non l'exception. Rejoignez-nous pour bâtir un avenir numérique plus privé, un e-mail à la fois.