paperclip/ui/public/brands/apps
Dotta 10c4902ffc
feat(apps): add local connection brand assets (#12343)
## Thinking Path

> - Paperclip is the open source app people use to manage AI agents for
work.
> - The app store needs stable provider marks that do not depend on
remote image hosts.
> - The connector layer adds many recognizable services.
> - Local assets must work in light and dark themes and follow the
design token gate.
> - This pull request adds the provider asset set and its rendering
support.
> - The benefit is fast and consistent app identification across the UI.

## Linked Issues or Issue Description

Refs #11965

This is stack 5 of 11. It depends on stack 4 and replaces another
reviewable part of #11965.

## What Changed

- Add local provider logos for the connection catalog.
- Add light and dark asset selection where providers need it.
- Add deterministic fallback behavior and UI tests.
- Document the fixed brand-color allowlist in the token gate.

## Verification

- `pnpm -r typecheck`
- `pnpm check:token-gates`
- `pnpm --filter @paperclipai/ui exec vitest run
src/pages/apps/AppLogo.test.tsx`
- `pnpm build`

## Risks

- A missing asset path can show the deterministic letter fallback.
- Brand SVG colors use the documented asset allowlist because provider
marks cannot use product theme tokens.
- The change does not add a database migration.

> I checked `ROADMAP.md`. This stack continues the existing app
connection work from #11965 and does not duplicate another planned item.

## Model Used

OpenAI Codex, GPT-5. The runtime model ID and context window were not
exposed. The model used reasoning, tool use, and code execution.

## Checklist

- [x] I have included a thinking path that traces from project context
to this change
- [x] I have specified the model used (with version and capability
details)
- [x] I have checked ROADMAP.md and confirmed this PR does not duplicate
planned core work
- [x] I have searched GitHub for duplicate or related PRs and linked
them above
- [x] I have either (a) linked existing issues with `Refs #` or (b)
described the issue in this pull request
- [x] I have not referenced internal or instance-local Paperclip issues
or links
- [x] My branch name describes the change and contains no internal
Paperclip ticket id or instance-derived details
- [x] I have run tests locally and they pass
- [x] I have added or updated tests where applicable
- [x] I have updated relevant documentation to reflect my changes
- [x] I have considered and documented any risks above
- [x] All Paperclip CI gates are green
- [x] Greptile is 5/5 with no open P2s, recommendations, or follow-ups
- [x] I will address all Greptile and reviewer comments before
requesting merge

---------

Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-08-29 12:08:33 -05:00
..
airtable.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
anthropic-dark.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
anthropic.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
api-key-generic.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
asana.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
beehiiv.png feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
bitly.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
box.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
brex-dark.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
brex.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
candid.png feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
clickhouse.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
cloudflare.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
cloudinary-dark.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
cloudinary.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
coda.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
composio-dark.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
composio.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
context7-dark.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
context7.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
egnyte.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
embat.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
github-dark.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
github.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
gmail.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
google-calendar.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
google-chat.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
google-docs.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
google-drive.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
google-people.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
google-sheets.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
google-slides.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
google-workspace-search.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
hugging-face.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
jira-dark.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
jira.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
kernel.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
linear.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
local-falcon.png feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
make-dark.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
make.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
manifest.json feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
manufact.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
mem0.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
miro-dark.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
miro.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
mixpanel.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
netlify.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
notion-dark.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
notion.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
oauth-generic.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
oreilly.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
pagerduty.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
planetscale-dark.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
planetscale.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
posthog-dark.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
posthog.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
postman.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
razorpay-dark.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
razorpay.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
resend-dark.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
resend.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
sanity-dark.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
sanity.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
sentry-dark.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
sentry.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
shopify.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
similarweb-dark.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
similarweb.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
slack.png feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
stripe.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
supabase.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
ticket-tailor-dark.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
ticket-tailor.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
ticktick.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
todoist.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
vercel-dark.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
vercel.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
webflow.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
wix.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
xero.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00
zapier.svg feat(apps): add local connection brand assets (#12343) 2026-08-29 12:08:33 -05:00