Security & Privacy
Our approach, stated plainly.
The security posture of a company that handles private communication should be legible to the people trusting it. Here is ours.
Cryptography
Pully identities are built on elliptic-curve cryptography — the same class of mathematics that secures Bitcoin and the modern web. An identity is derived on the device from a recovery phrase using published, standard derivation schemes, so the identity is reproducible by its owner and by nobody else.
Message and media contents are encrypted end to end between the participating identities. Voice and video calls are encrypted in transit and, where the network permits, carried directly between the two devices rather than through our infrastructure at all.
We do not hold the keys required to read our users' content. This is a property of the design, not a policy we apply to data we could otherwise access.
Crypto-agility
Cryptographic choices that are sound today will not all remain sound. Our derivation schemes and message formats are explicitly versioned so that algorithms can be replaced through a coordinated migration across clients and servers, rather than a rewrite that abandons existing identities. This is what makes an eventual transition to post-quantum algorithms tractable, and it is a deliberate design cost we pay now against a change we expect later.
Data minimization
We start from the question of what we can avoid knowing. In practice that means:
- No phone number or email address is required to create an identity.
- Private keys are generated and stored on the user's device, never transmitted to us.
- Display names are stored in a form our servers cannot read.
- Message and call content passes through our systems as ciphertext, when it passes through them at all.
- We operate no advertising business, sell no data, and run no behavioral analytics product.
The consequence is that the scope of what an intrusion, a compelled disclosure, or a dishonest future employee could obtain is narrow by construction.
Operational practice
Infrastructure
Our services run on managed, access-controlled infrastructure with encrypted transport throughout. Administrative access is limited to the people who operate the service.
Change management
Changes to the applications and services are version-controlled and reviewed, and security-relevant behavior is covered by an automated test suite that runs before release. Cryptographic changes are treated as migrations and are never shipped to one side of a connection alone.
Third parties
We keep the number of vendors who touch our systems small, and we do not share user content with any of them, because the content is not ours to share.
Responsible disclosure
If you believe you have found a security vulnerability in Pully or in any KJA Holdings system, we want to hear about it before anyone else does.
Write to contact@kjahllc.com with enough detail to reproduce the issue. Please give us a reasonable opportunity to investigate and remediate before publishing, and please do not access, modify or retain data belonging to anyone other than yourself while testing. We will acknowledge reports we receive, keep you informed while we work, and credit reporters who would like to be credited.
We do not currently operate a paid bug bounty. That is a statement of fact rather than a comment on the value of the work, and it may change.
Law enforcement and legal requests
Requests should be directed to contact@kjahllc.com. We respond to valid legal process. We are also candid about its limits: because message contents, media and call streams are end-to-end encrypted and because we do not require identifying information to create an identity, the material we are technically capable of producing is limited to what our systems actually hold.