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.

머리말

오늘날의 디지털 환경에서 이메일 개인 정보 보호는 그 어느 때보다 중요해졌습니다. 데이터 침해, 감시 우려, 이메일 콘텐츠를 기반으로 한 타겟팅 광고로 인해 사용자는 개인 정보 보호를 우선시하는 솔루션을 점점 더 많이 찾고 있습니다. Forward Email에서 우리는 개인 정보 보호를 아키텍처의 초석으로 삼아 처음부터 서비스를 구축했습니다. 이 블로그 게시물에서는 우리 서비스를 가장 개인 정보 보호에 중점을 둔 이메일 전달 솔루션 중 하나로 만드는 기술적 구현을 살펴봅니다.

Forward Email 개인정보 보호 철학

기술적 세부 사항을 살펴보기 전에 당사의 기본적인 개인정보 보호 철학을 이해하는 것이 중요합니다. 당신의 이메일은 당신만의 것입니다. 이 원칙은 이메일 전달을 처리하는 방법부터 암호화를 구현하는 방법까지 우리가 내리는 모든 기술적 결정을 안내합니다.

광고 목적으로 메시지를 스캔하거나 서버에 무기한 저장하는 많은 이메일 제공업체와 달리 Forward Email은 근본적으로 다른 접근 방식으로 작동합니다.

  1. 메모리 내 처리만 가능 - 귀하의 전달된 이메일은 디스크에 저장되지 않습니다.
  2. 메타데이터 저장 없음 - 누가 누구에게 이메일을 보냈는지에 대한 기록을 보관하지 않습니다.
  3. 100% 오픈 소스 - 전체 코드베이스는 투명하고 감사 가능합니다.
  4. 종단간 암호화 - 우리는 진정한 개인 통신을 위해 OpenPGP를 지원합니다.

SQLite 구현: 데이터의 내구성 및 이동성

Forward Email의 가장 중요한 개인 정보 보호 이점 중 하나는 신중하게 설계된 것입니다. SQLite 구현. 우리는 특정 PRAGMA 설정으로 SQLite를 미세 조정했습니다. 미리 쓰기 로깅(WAL) 최고 수준의 개인정보 보호 및 보안을 유지하는 동시에 데이터의 내구성과 이동성을 보장합니다.

다음은 SQLite를 구현한 방법을 살펴보는 것입니다. 차차20-폴리1305 양자 안전 암호화를 위한 암호로:

// 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;');

이 구현은 귀하의 데이터가 안전할 뿐만 아니라 이식성도 보장합니다. 언제든지 이메일을 가져가서 내보내면 됩니다. MBOX, EML, 또는 SQLite 형식입니다. 그리고 데이터를 삭제하고 싶을 때, 그것은 정말로 사라집니다. 우리는 단순히 SQL DELETE ROW 명령을 실행하는 대신 디스크 저장소에서 파일을 삭제합니다. SQL DELETE ROW 명령은 데이터베이스에 흔적을 남길 수 있습니다.

구현 방법의 양자 암호화 측면에서는 데이터베이스를 초기화할 때 ChaCha20-Poly1305를 암호로 사용하여 현재 및 미래의 데이터 개인 정보 위협으로부터 강력한 보호를 제공합니다.

스마트 대기열 및 재시도 메커니즘: 이메일 전달 보장

헤더 처리에만 집중하는 대신 우리는 정교한 스마트 대기열과 재시도 메커니즘을 구현했습니다. getBounceInfo 방법. 이 시스템은 일시적인 문제가 발생하더라도 이메일이 전달될 가능성이 가장 높도록 보장합니다.

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] 이것은 발췌문입니다. getBounceInfo 실제 광범위한 구현이 아닌 방법입니다. 전체 코드는 다음에서 검토할 수 있습니다. 깃허브.

우리는 업계 표준과 유사하게 5일 동안 메일 배달을 다시 시도합니다. 접미사, 일시적인 문제가 스스로 해결될 시간을 줍니다. 이 접근 방식은 프라이버시를 유지하면서도 배달률을 크게 개선합니다.

비슷한 맥락에서, 우리는 또한 성공적으로 전달된 아웃바운드 SMTP 이메일의 메시지 내용을 삭제합니다. 이것은 30일의 기본 보관 기간으로 스토리지 시스템에 구성되어 있으며, 이는 도메인의 고급 설정에서 조정할 수 있습니다. 이 기간이 지나면 이메일 내용이 자동으로 삭제되고 제거되며, 플레이스홀더 메시지만 남습니다.

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.

이러한 접근 방식을 사용하면 보낸 이메일이 무기한 저장되지 않아 데이터 침해나 통신 내용에 대한 무단 액세스의 위험이 줄어듭니다.

지능형 속도 제한을 통한 무제한 리소스

Forward Email은 무제한 도메인과 별칭을 제공하지만, 시스템을 남용으로부터 보호하고 모든 사용자에게 공정한 사용을 보장하기 위해 지능형 속도 제한을 구현했습니다. 예를 들어, 기업 고객이 아닌 고객은 하루에 최대 50개 이상의 별칭을 만들 수 있으며, 이를 통해 데이터베이스가 스팸 및 범람하는 것을 방지하고 실시간 남용 및 보호 기능이 효과적으로 작동할 수 있습니다.

// 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 }

이러한 균형 잡힌 접근 방식을 통해 모든 사용자에게 서비스의 무결성과 성능을 유지하는 동시에, 포괄적인 개인 정보 관리를 위해 필요한 만큼 많은 이메일 주소를 생성할 수 있는 유연성을 제공합니다.

강화된 보안을 위한 샌드박스 암호화

당사의 고유한 샌드박스 암호화 방식은 많은 사용자가 이메일 서비스를 선택할 때 간과하는 중요한 보안 이점을 제공합니다. 샌드박스 데이터, 특히 이메일이 왜 그렇게 중요한지 살펴보겠습니다.

Gmail 및 Proton과 같은 서비스는 공유를 사용할 가능성이 가장 높습니다. 관계형 데이터베이스, 이는 근본적인 보안 취약성을 생성합니다. 공유 데이터베이스 환경에서 누군가가 한 사용자의 데이터에 액세스하면 다른 사용자의 데이터에 액세스할 수 있는 경로도 잠재적으로 생깁니다. 이는 모든 사용자 데이터가 동일한 데이터베이스 테이블에 상주하고 사용자 ID 또는 유사한 식별자로만 구분되기 때문입니다.

Forward Email은 샌드박스 암호화를 통해 근본적으로 다른 접근 방식을 취합니다.

  1. 완전한 격리: 각 사용자의 데이터는 다른 사용자와 완전히 분리된 암호화된 SQLite 데이터베이스 파일에 저장됩니다.
  2. 독립적인 암호화 키: 각 데이터베이스는 사용자의 비밀번호에서 파생된 고유한 키로 암호화됩니다.
  3. 공유 저장소 없음: 모든 사용자의 이메일이 단일 "이메일" 테이블에 있는 관계형 데이터베이스와 달리, 우리의 접근 방식은 데이터가 섞이지 않도록 보장합니다.
  4. 심층 방어: 한 사용자의 데이터베이스가 어떻게든 손상되더라도 다른 사용자의 데이터에 액세스할 수 없습니다.

이 샌드박스 방식은 내부 구분선이 있는 공유 저장 시설이 아닌 별도의 물리적 보관소에 이메일을 보관하는 것과 유사합니다. 이는 개인 정보 보호 및 보안을 크게 강화하는 근본적인 구조적 차이입니다.

메모리 내 이메일 처리: 최대 개인 정보 보호를 위한 디스크 스토리지 없음

이메일 전달 서비스의 경우, 이메일을 전적으로 RAM에서 처리하고 디스크 스토리지나 데이터베이스에는 쓰지 않습니다. 이러한 접근 방식은 이메일 감시 및 메타데이터 수집에 대한 탁월한 보호를 제공합니다.

이메일 처리 방식을 간단히 살펴보겠습니다.

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); } }

이 접근 방식은 서버가 손상되더라도 공격자가 액세스할 수 있는 과거 이메일 데이터가 없다는 것을 의미합니다. 귀하의 이메일은 단순히 당사 시스템을 통과하고 흔적을 남기지 않고 즉시 목적지로 전달됩니다. 이 무로그 이메일 전달 방식은 귀하의 통신을 감시로부터 보호하는 데 기본이 됩니다.

완벽한 개인 정보 보호를 위한 OpenPGP를 사용한 종단 간 암호화

이메일 감시로부터 최고 수준의 개인 정보 보호를 요구하는 사용자의 경우, 오픈PGP 엔드투엔드 암호화를 위해. 독점적인 브리지나 앱이 필요한 많은 이메일 제공자와 달리, 당사의 구현은 표준 이메일 클라이언트와 함께 작동하여 모든 사람이 안전한 커뮤니케이션을 이용할 수 있도록 합니다.

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)]); }

이 구현은 귀하의 이메일이 귀하의 기기를 떠나기 전에 암호화되고 의도된 수신자만 해독할 수 있도록 하여 귀하의 통신을 당사에서도 비공개로 유지합니다. 이는 민감한 통신을 무단 액세스 및 감시로부터 보호하는 데 필수적입니다.

종합적인 보안을 위한 다중 계층 콘텐츠 보호

Forward Email은 기본적으로 활성화된 다중 계층의 콘텐츠 보호 기능을 제공하여 다양한 위협으로부터 포괄적인 보안을 제공합니다.

  1. 성인 콘텐츠 보호 - 개인정보를 침해하지 않고 부적절한 콘텐츠를 걸러냅니다.
  2. 피싱 보호 - 익명성을 유지하면서 정보를 훔치려는 시도를 차단합니다.
  3. 실행 가능한 보호 - 콘텐츠를 검사하지 않고 잠재적으로 유해한 첨부 파일을 방지합니다.
  4. 바이러스 보호 - 개인 정보 보호 기술을 사용하여 맬웨어를 검사합니다.

이러한 기능을 옵트인으로 만드는 많은 공급업체와 달리, 우리는 이를 옵트아웃으로 만들어 모든 사용자가 기본적으로 이러한 보호의 혜택을 받을 수 있도록 했습니다. 이러한 접근 방식은 개인 정보 보호와 보안에 대한 우리의 헌신을 반영하며, 많은 이메일 서비스가 달성하지 못하는 균형을 제공합니다.

다른 이메일 서비스와의 차이점: 기술적 개인 정보 보호 이점

Forward Email을 다른 이메일 서비스와 비교할 때, 몇 가지 주요 기술적 차이점은 당사의 개인 정보 보호 우선 접근 방식을 강조합니다.

검증 가능한 개인 정보 보호를 위한 오픈 소스 투명성

많은 이메일 제공업체가 오픈 소스라고 주장하지만, 종종 백엔드 코드를 닫아둡니다. Forward Email은 100% 오픈소스프런트엔드와 백엔드 코드를 모두 포함합니다. 이러한 투명성으로 인해 모든 구성 요소에 대한 독립적인 보안 감사가 가능해져 누구나 당사의 개인 정보 보호 주장을 검증할 수 있습니다.

타협 없는 개인 정보 보호를 위한 공급업체 잠금 없음

개인 정보 보호에 중점을 둔 많은 이메일 제공업체는 자체 앱이나 브리지를 사용하도록 요구합니다. Forward Email은 다음을 통해 모든 표준 이메일 클라이언트와 작동합니다. IMAP, POP3, 그리고 SMTP 프로토콜을 통해 개인 정보를 침해하지 않고도 원하는 이메일 소프트웨어를 선택할 수 있는 자유를 제공합니다.

진정한 고립을 위한 샌드박스 데이터

모든 사용자의 데이터가 혼합된 공유 데이터베이스를 사용하는 서비스와 달리, 샌드박스 방식은 각 사용자의 데이터가 완전히 격리되도록 보장합니다. 이 근본적인 구조적 차이는 대부분의 이메일 서비스가 제공하는 것보다 훨씬 강력한 개인 정보 보호 보장을 제공합니다.

데이터 이동성 및 제어

저희는 귀하의 데이터가 귀하의 소유라고 믿기 때문에 표준 형식(MBOX, EML, SQLite)으로 이메일을 쉽게 내보내고 원할 때 귀하의 데이터를 실제로 삭제할 수 있도록 합니다. 이 수준의 제어는 이메일 제공업체에서는 드물지만 진정한 개인 정보 보호를 위해서는 필수적입니다.

개인정보 보호 우선 이메일 전달의 기술적 과제

개인 정보 보호 우선 이메일 서비스를 구축하는 데는 상당한 기술적 어려움이 따릅니다. 다음은 우리가 극복한 몇 가지 장애물입니다.

무로그 이메일 처리를 위한 메모리 관리

디스크 스토리지 없이 메모리 내에서 이메일을 처리하려면 대량의 이메일 트래픽을 효율적으로 처리하기 위해 신중한 메모리 관리가 필요합니다. 당사는 개인정보 보호 전략의 중요한 구성 요소인 무저장 정책을 손상시키지 않으면서도 안정적인 성능을 보장하기 위해 고급 메모리 최적화 기술을 구현했습니다.

개인정보 보호 필터링을 위한 콘텐츠 분석 없이 스팸 감지

최대 스팸 탐지 시스템은 이메일 콘텐츠 분석에 의존하는데, 이는 당사의 개인정보 보호 원칙과 상충됩니다. 당사는 이메일 콘텐츠를 읽지 않고도 스팸 패턴을 식별하는 기술을 개발하여 개인정보 보호와 사용성 간의 균형을 맞춰 커뮤니케이션의 기밀성을 유지합니다.

개인정보 보호 우선 설계와의 호환성 유지

모든 이메일 클라이언트와의 호환성을 보장하고 고급 개인 정보 보호 기능을 구현하려면 창의적인 엔지니어링 솔루션이 필요했습니다. 당사 팀은 개인 정보 보호를 원활하게 하기 위해 끊임없이 노력했으므로 이메일 커뮤니케이션을 보호할 때 편의성과 보안 중 하나를 선택할 필요가 없습니다.

전달 이메일 사용자를 위한 개인 정보 보호 모범 사례

Forward Email을 사용할 때 이메일 감시로부터 최대한 보호하고 개인 정보 보호를 극대화하려면 다음 모범 사례를 권장합니다.

  1. 다양한 서비스에 대해 고유한 별칭을 사용하세요 - 서비스 간 추적을 방지하기 위해 가입하는 각 서비스에 대해 다른 이메일 별칭을 만듭니다.
  2. OpenPGP 암호화 활성화 - 민감한 커뮤니케이션의 경우 종단간 암호화를 사용하여 완전한 개인 정보 보호를 보장합니다.
  3. 정기적으로 이메일 별칭을 순환하세요 - 장기 데이터 수집을 최소화하기 위해 중요 서비스에 대한 별칭을 주기적으로 업데이트합니다.
  4. 강력하고 고유한 비밀번호를 사용하세요 - 무단 접근을 방지하기 위해 강력한 비밀번호로 전달 이메일 계정을 보호하세요.
  5. 구현하다 IP 주소 익명화 - 사용을 고려하세요 VPN 완전한 익명성을 위해 Forward Email과 함께 사용

결론: 개인 이메일 전달의 미래

Forward Email에서 우리는 개인정보 보호가 단순한 기능이 아니라 기본적인 권리라고 믿습니다. 당사의 기술적 구현은 이러한 신념을 반영하여 모든 수준에서 귀하의 개인정보를 존중하고 이메일 감시 및 메타데이터 수집으로부터 귀하를 보호하는 이메일 전달을 제공합니다.

서비스를 계속 개발하고 개선함에 따라 개인정보 보호에 대한 저희의 헌신은 변함없습니다. 저희는 끊임없이 새로운 암호화 방법을 연구하고, 추가적인 개인정보 보호 기능을 탐색하며, 가능한 가장 안전한 이메일 경험을 제공하기 위해 코드베이스를 개선하고 있습니다.

Forward Email을 선택하면 단순히 이메일 서비스를 선택하는 것이 아니라, 프라이버시가 예외가 아닌 기본인 인터넷 비전을 지지하는 것입니다. 한 번에 한 이메일씩, 보다 개인적인 디지털 미래를 구축하는 데 참여하세요.