Skip to main content

Creating your branded app

Dedicated app​

Your app carries your name, your icon and your colors, and is published under your own publisher name on the App Store, on Google Play and on the Microsoft Store. We build it, sign it and submit it for you.

This document sets out what we need from you, in the order you should tackle it. Take only the platform sections you want: everything else — identity, assets, colors — is shared, and you send it once.

How it works​

The app is published on your own accounts, under your publisher name. You remain its owner: the listing, the analytics and the relationship with the stores are yours. We act as a technical provider, with access you can revoke at any time.

You take care ofWe take care of
Your developer accounts and their upkeepBuilding and signing the app
Creating the identifiers and keysProducing the icons and screenshots
Providing your brand identitySubmitting the app and its updates
Writing and publishing the store listingsOngoing technical maintenance

Prerequisites​

An active account in your company's name on each platform you want: Apple Developer Program, Google Play Console, Microsoft Partner Center registered to the Windows and Xbox developer program.

On the Google side

Make sure it is an Organization account: personal accounts are subject to a mandatory testing period that delays any first release by several weeks.

On the Microsoft side

Microsoft verifies the legal identity of your company before the account can publish anything. That check is the longest step on this platform, and nothing else can start before it clears. Begin with it.

1. On the Apple side​

To create in your account​

  • The app identifier matching the agreed technical identifier — for example com.mycompany.check — with the Push Notifications capability enabled.
  • A distribution certificate, exported as a .p12 file from Keychain Access on a Mac, with a password of your choosing.
  • A provisioning profile of type App Store for that identifier.
  • An App Store Connect API key, created under Users and Access → Integrations. Choose a Team Key — not an individual key, which lacks the necessary rights — with the App Manager role.
What this key cannot do

The App Manager role allows uploading builds and managing TestFlight, nothing more. It gives no access to your certificates and identifiers, nor to your team's user management. This is deliberate: we should not hold those powers over your account.

To send us, over a secure channel​

ItemDetails
Distribution certificateThe .p12 file and the password chosen at export
Provisioning profileThe .mobileprovision file, App Store type
App Store Connect API keyThe downloaded .p8 file, its Key ID, and the Issuer ID shown at the top of the page
Team IDUnder Membership, a ten-character code
Two things to watch

The .p8 file can be downloaded only once: Apple offers it when the key is created and never again, so keep a copy.

Both the certificate and the profile expire after one year: they will need to be recreated and sent to us again, otherwise updates stop going out.

2. On the Google side​

Nothing to create. In Play Console → Users and permissions, invite the service account address we will give you, limiting access to your app alone, with two permissions:

  • View app information — read only;
  • Release to testing tracks, and release to production once you want updates to go out automatically.

You send us no files on the Google side. The key is ours, you only grant access — and you can revoke it at any time from that same page.

We also produce the app's upload key, and we enable Play App Signing: Google keeps the final signing key, which protects you against losing it and guarantees you can take over later.

3. On the Microsoft side​

To create in your account​

  • The product, by reserving its name in Partner Center. The reservation gives you the identity values listed below, all on the Product identity page of the app.
  • A package flight for the app, with the addresses of the people who will test it. A flight is the Windows equivalent of TestFlight or of the Google Play internal track: the build reaches your testers alone, without going through the public listing.
  • An app registration of type single tenant in your Microsoft Entra directory, with a client secret whose value you copy at creation. In Partner Center, under Account settings → User management → Microsoft Entra ID applications, add that registration and give it the Manager role. This is what lets us submit your builds.
If your account has no Entra directory

An account opened with a personal Microsoft address has none. Partner Center offers to create one, at no cost, from that same page. It has to exist before the registration can be created.

To send us, over a secure channel​

ItemDetails
Package identity nameOn Product identity, of the form MyCompany.MyApp
Publisher IDOn Product identity, of the form CN= followed by an identifier
Publisher display nameOn Product identity, the name shown to users as the publisher of the app
Store IDOn Product identity, twelve characters, for example 9NBLGGH4R315
Package flight IDThe identifier of the flight created above
Entra accessThe Tenant ID, the Client ID and the client secret
The client secret expires

A client secret lasts two years at most, and its expiry date is set when you create it. Once it has passed, our submissions are refused and updates stop going out. This is the only recurring action on the Windows side: note the date and send us a new secret before then.

No signing certificate to provide

Unlike iOS, Windows asks nothing of you here: the Microsoft Store signs the package itself at publication. Nothing to create, nothing to renew every year.

What your users need​

Windows 10 version 1809 or later, on a 64-bit or ARM machine. Installation goes through the Microsoft Store, so your users need no administrator rights, and updates reach them on their own.

4. Your app's identity​

Sent once, and used on every platform you have chosen.

ItemWhat we need
App nameThe name shown under the icon on the home screen, and reused on the store listings. Thirty characters at most, but aim for about a dozen: beyond that, phones truncate it under the icon. On Windows it must also match one of the names reserved on your Partner Center account.
Example: My Company Check
Technical identifier (package name)A unique identifier, shared by iOS and Android, of the form com.mycompany.check. It follows strict rules: lowercase letters, digits and underscores only, at least two segments separated by dots, each segment starting with a letter. No hyphens, accents, spaces or capitals. It is permanent: no store allows it to be changed after the first release.
Windows does not use it: there, the identity comes from the reservation made in Partner Center, and it is just as permanent.
Link keywordA unique word that lets your links open the app directly, from an email for instance. Lowercase, no spaces or accents, and specific to your app: two apps sharing the same word compete to open links. Used by the mobile apps only.
Example: mycompanycheck
IconSquare PNG, 1024 × 1024, with no transparency and no rounded corners — those are applied by the operating systems. 1240 × 1240 minimum if you want the Windows app, which uses larger tiles. We derive every size we need from it, and any margin around your artwork is removed beforehand.
LogoPNG with a transparent background, landscape format. Displayed inside the app: sign-in screen and headers.
ColorsA primary and a secondary color, in hexadecimal, and for each the color of the text shown on top — white or black. If your CaRool web interface is already set to your colors, we reuse that palette and you have nothing to send.
Example: primary #f6be00 with black text

5. The store listings​

The App Store, Google Play and Microsoft Store listings are yours to handle: descriptions, category, privacy policy, support addresses, content rating and data collection declarations. You write and publish them from your own consoles.

On our side, we provide the screenshots of the app, in the formats each store expects.

Do not forget the test account

In the Apple listing, and in the notes for certification on the Microsoft side, enter the credentials and phone number of a working account. This is the leading cause of rejection: a store turns down any app whose behavior its reviewers cannot verify.

What we need in return​

As soon as a listing exists, send us its address. The app uses it to offer updates to your users.

The timeline​

StepWhoIndicative time
Opening the developer accountsYou2 to 6 weeks
Microsoft identity verificationMicrosoft1 to 4 weeks
Sending the access details and the assetsYou1 day
App creation and first test buildUs2 to 3 days
Testing on TestFlight, on the Google Play internal track and through the Windows package flightYouat your own pace
Review by Apple and GoogleThe stores1 to 7 days
Certification by MicrosoftThe Storea few hours to 3 days
A word from experience

The first Apple review is the least predictable: that is where last-minute requirements surface. On the Microsoft side it is the identity verification that sets the pace, and it is entirely out of our hands. Allow some slack, and avoid announcing a firm launch date to your teams before the first approval.

What remains your responsibility over time​

  • Keeping the developer accounts alive: annual renewal with Apple, accepting new agreements.
  • The annual renewal of the Apple certificate and provisioning profile, and sending them to us.
  • Renewing the Microsoft client secret before it expires, and sending us the new value.
  • The accuracy of your privacy policy and your data collection declarations.
  • Maintaining your store listings.

Checklist​

What we need from you, in one list. Skip the sections for the platforms you have not chosen.

Apple

  • App identifier created, Push capability enabled
  • Distribution certificate: .p12 file and its password
  • App Store provisioning profile
  • App Store Connect API key with the App Manager role: .p8, Key ID, Issuer ID
  • Your Apple Team ID

Google

  • An invitation for our service account in your Play Console

Microsoft

  • Account opened and identity verification cleared
  • App reserved: package identity name, Publisher ID, publisher display name, Store ID
  • Package flight created, and its identifier
  • Entra app registration granted the Manager role in Partner Center
  • Tenant ID, client ID and client secret, along with the secret's expiry date

Shared

  • App name
  • Technical identifier, shared by iOS and Android
  • Link keyword, for the mobile apps
  • Icon 1024 × 1024 with no transparency — 1240 × 1240 if you want the Windows app — and a transparent landscape logo
  • Primary and secondary colors, and the matching text colors
  • Your store listings, written and published
  • The addresses of the listings, once created

A question about any of these? Write to us — we would rather answer before you start.