
Kodex
Web-based Secure Messenger App Improvements
Timeline: 10.2015 - 06.2016
My Role: Product Designer in a team of 11
Project Overview
Kodex was a secure chat and collaboration platform powered by Kryptnostic’s Fully Homomorphic Encryption (FHE) scheme that enables search over encrypted data. It allowed you to chat, share and search across organizational boundaries, using client-side encryption with server-side computation. When I joined Kryptnostic, Kodex already had some live and pilot customers. So my main task was to improve the current UI/UX.Goals
Research
Problem Statement
Based on current technology and business requirements, use visual language and optimized user experience to improve Kodex functionally.
User Research
User research was crucial at Kryptnostic because we built a platform that puts privacy first without compromising user experience. Our mission was to give internet users the functionality and security they deserve.
One of the first things I did was to reach out to our customers and conduct interviews. We had live customers like the California Department of Justice and TruStar, some pilot customers like Salt Lake City Police Department, and Aetna. So with our team’s help, I got the chance to have a little talk with some of our customers to understand what they need.
Persona
Learn the Technology
Most cloud services need access to customer data to be helpful; this centralizes risk. Encryption at rest and in transit doesn’t protect data during use. Now services require access to both data and keys. Without encryption keys, most cloud services are ‘dumb’ storage.
The standard for cloud security today:
Asymmetric Encryption
Perimeter based protection:
Maginot Line
Encryption in transit
Decryption in a cloud host
Hosts see all data in plain text
The Kryptnostic Standard for Data Protection:
Fully Homomorphic Encryption (FHE)
Distributed keys, decentralized risk:
Every citizen a soldier
Encryption happens on the user’s computer
Decryption occurs on the user’s computer
Our servers never see your data in plaintext
We never have access to either a customer’s keys or data.
We achieve this level of security by enforcing the following rules:
• All encryption and decryption of customer data occur on the client.
• Key distribution is handled client-side by encrypting the Object Content Keys and Object Search Keys to the target user’s public key to grant desired access to the object.
Define
Based on the research of our users and our current technology at Kryptnostic, combined with the basic needs for a messenger app, I started getting my hands on the basic features for Kodex. A significant value proposition about Kodex was the high level of security, and the value proposition also gave me some limitations on the design side. Based on our technology, since we couldn’t see all the content from the users at all, I noticed that once our users forget their account password, the account would be lost forever. In this case, at the login page, I need to lose the Forget Password feature for good.
Besides that, Kodex had four main features:
Channels – Message users in the team by topic.
Search – Query your archive of messages and files to leverage your knowledge base.
File-Sharing – Drag and drop files to view, download, and discuss.
Administration – Control your organization’s data.
User Flow & Sketch
Lo-fi Prototyping User test
After a team-wide discussion over the user flow and the sketch, I designed a lo-fi prototype using Figma. The prototype was in greyscale to focus on the functionality and information architecture of the design. We used this lo-fi prototyping to do an internal user test. Based on the user testing findings, the team was constantly making iterations and improvements.
The Visuals
Combined with the company branding at this stage, and with a long time exploring and trying, I finalized the design for Kodex. Besides that, I also created a style guide for Kodex to make sure our engineers and designer all clearly and cohesively contribute to the product.
Style Guide
To ensure our engineers and designer all clearly and cohesively contribute to the product, we need to create a style guide to ensure we have a consistent guide for everything from design to writing.