
OMEMO는 안드레아스 슈트라우브가 개발한 다중 클라이언트 단대단 암호화를 위한 Extensible Messaging and Presence Protocol(XMPP) 확장 프로토콜이다. 슈트라우브에 따르면, OMEMO는 더블 래칫 알고리즘을 사용하여 "다중 단말 간(multi-end to multi-end) 암호화를 제공하며, 일부 클라이언트가 오프라인 상태이더라도 여러 클라이언트 간에 메시지를 안전하게 동기화할 수 있도록 한다." "OMEMO"라는 이름은 "OMEMO Multi-End Message and Object Encryption"의 재귀 약자이다. 이는 더블 래칫 알고리즘과 퍼스널 이벤팅 프로토콜(Personal Eventing Protocol, PEP, XEP-0163)을 기반으로 하는 개방형 표준이다. OMEMO는 메시지 동기화 및 오프라인 전송과 함께 미래 및 전방향 보안과 부인 방지 기능을 제공한다.
OTR과 비교할 때, OMEMO 프로토콜은 약간 더 큰 메시지 크기 오버헤드를 대가로 다대다 암호화 채팅, 오프라인 메시지 대기열, 전방향 보안, 파일 전송, 검증 가능성 및 부인 방지 기능을 제공한다.
이 프로토콜은 2015년 구글 서머 오브 코드 프로젝트로서 안드레아스 슈트라우브에 의해 개발되고 처음 구현되었다. 이 프로젝트의 목표는 Conversations라는 안드로이드 기반 XMPP 인스턴트 메시징 클라이언트에 더블 래칫 기반의 다중 단말 간 암호화 방식을 구현하는 것이었다. 이는 Conversations에 도입되었으며, 2015년 가을에 XMPP Standards Foundation(XSF)에 제안된 XMPP Extension Protocol(XEP)로 제출되었고, 2016년 12월에 XEP-0384로 승인되었다.
2016년 7월, ChatSecure 프로젝트는 차기 릴리스에서 OMEMO를 구현할 것이라고 발표했다. ChatSecure v4.0은 OMEMO를 지원하며 2017년 1월 17일에 출시되었다.
크로스 플랫폼 XMPP 클라이언트인 Gajim을 위한 OMEMO 플러그인의 첫 실험적 릴리스는 2015년 12월 26일에 공개되었다.
2016년 6월, 비영리 컴퓨터 보안 컨설팅 회사인 Radically Open Security는 OMEMO 프로토콜에 대한 분석 보고서를 발표했다.
OMEMO를 지원하는 주요 클라이언트(전체 목록도 존재함):