Skip to content

Confirm matches

Different providers name the same thing differently. Ubrella’s job is to notice, yours is to confirm.

A match is Ubrella’s proposal that a source belongs to a project, with a confidence score. It becomes an assignment only when you confirm it.

We think these belong together
Grill Me
├── RevenueCat Grill Me (already assigned)
├── GitHub grill-me-ios 95 %
└── PostHog GrillMe Production 88 %
[Confirm] [Change]

High-confidence matches are preselected. Nothing is assigned until you press Confirm.

Deterministic and fuzzy signals, in roughly this order of weight:

  • names normalised (case, punctuation, spaces, common suffixes such as -ios, -api, Production)
  • bundle identifiers and App Store IDs when a provider exposes them
  • domains and repository URLs found in provider metadata
  • tokens the names share (grill, me)
  • assignments you have confirmed before — every confirmation teaches the matcher for your workspace

Ubrella never assigns on its own, at any confidence. A wrong assignment would make every number on the portfolio wrong; one click per provider is the cheapest protection.

At any time, from the project’s Sources tab or from Unassigned sources:

  • Reassign a source to another project
  • Unassign a source (it goes silent, its history stays with the old project)
  • Merge two projects when you realise they are one thing
  • leave a source unassigned forever

During the beta a source can be assigned to exactly one project. If you have a shared backend that serves two apps, create a project for it — People API, say — and assign the repository there. Its build failures then show up under that project, not duplicated under both apps. Many-to-many assignments are planned; the data model already allows them.