Security

Your signing keys are the crown jewels. We treat them that way.

Ubriot holds the credentials that can publish your app. Here is exactly how we protect them.

Credentials encrypted at rest with AES-256-GCM

Signing certificates, App Store Connect keys, and Google Play service accounts are encrypted with AES-256-GCM authenticated encryption before storage, and decrypted only inside a build that needs them.

Per-app, least-privilege scoping

Each credential is scoped to the app and owner it belongs to. A build can only reach the secrets for the app it is building, never another account's.

Isolated build execution

Builds run in isolated workers. Artifacts and logs are tied to the build that produced them and are not shared across accounts.

Authenticated access, scoped tokens

Dashboard and API access is authenticated. Machine and integration access uses first-class, individually revocable API keys, separate from human sessions.

How your data is handled

  • Secrets stay encrypted. Signing material and store keys are decrypted only in memory, inside the build that needs them, and are never returned in API responses.
  • Builds run on Ubriot-operated infrastructure. Source, artifacts, and logs are processed on Ubriot's own build workers, not handed to a third-party CI.
  • Artifacts belong to their build. Every build's artifact, log, and store-submission record is tied to that build and its owning app, never shared across accounts.
  • Access is revocable. API keys and sessions can be revoked at any time, which immediately cuts off the access they granted.

Reporting a vulnerability

If you believe you have found a security issue, please email security@ubriot.dev with details and steps to reproduce. We will acknowledge your report and keep you updated while we investigate. Please give us a reasonable window to fix an issue before any public disclosure.

Questions about security?

Enterprise teams can request more detail on our controls.

Contact security