{"rid":"storage/uppy-companion","card":{"rid":"storage/uppy-companion","eid":"uppy","topic":"storage","slug":"uppy-companion","provider":"uppy companion","url":"https://uppy.io/docs/companion/","domain":"uppy.io","category":"rejected-provider","tier":null,"verdict":"fails-quota","vorder":6,"grp":"rejected","confidence":"reported","binding":"none","identity_kind":"email","identity_basis":"defaulted","needs_card":null,"needs_phone":null,"needs_id":null,"needs_institution":null,"country":null,"crypto":null,"interfaces":null,"egress_metered":0,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-21T00:00:00.000Z","verified_basis":"inherited","checked_on":"2026-10-21","stale_on":"2026-11-04","n_evidence":2,"usd_month":null,"usd_per_tb_month":null,"summary":"Not a provider — it is a self-hosted OAuth bridge that pulls files from the user's own Drive/Dropbox/Instagram into your upload target. Zero storage of its o...","duplicate_of":null,"n_unknown":15},"record":{"topic":"storage","slug":"uppy-companion","provider":"uppy companion","url":"https://uppy.io/docs/companion/","category":"rejected-provider","free_tier":{"stated":"Not a provider — it is a self-hosted OAuth bridge that pulls files from the user's own Drive/Dropbox/Instagram into your upload target. Zero storage of its own, so it cannot be multiplied; i","unit":"none","metered_on":"none","source_url":"https://uppy.io/docs/companion/","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"not recorded","bytes":null,"source_url":"https://uppy.io/docs/companion/","notes":"not recorded"},"retention":{"stated":"not recorded","days":null,"source_url":"https://uppy.io/docs/companion/","notes":null},"egress":{"terms":"not recorded","metered":false},"interface":["unknown"],"interface_detail":null,"tooling":"not recorded","chaining":"not recorded","limits":[],"limits_note":null,"identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"Not a provider — it is a self-hosted OAuth bridge that pulls files from the user's own Drive/Dropbox/Instagram into your upload target. Zero storage of its own, so it cannot be multiplied; i","confidence":"reported","confidence_note":null,"evidence":[{"url":"https://uppy.io/docs/companion/","date":"2026-10-21","proved":"Not a provider — it is a self-hosted OAuth bridge that pulls files from the user's own Drive/Dropbox/Instagram into your upload target. Zero storage of its own, so it cannot be multiplied; i"},{"url":"https://github.com/transloadit/uppy/tree/main/packages/@uppy/companion","date":"2026-10-21","proved":"cited as the basis of the rejection: Not a provider — it is a self-hosted OAuth bridge that pulls files from the user's own Drive/Dropbox/Instagram into your upload target. Zero storage of its own, so it cannot be multiplied; i"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"Not a provider — it is a self-hosted OAuth bridge that pulls files from the user's own Drive/Dropbox/Instagram into your upload target. Zero storage of its own, so it cannot be multiplied; i","extras":{"dead_end":{"failure_class":"quota","why":"Not a provider — it is a self-hosted OAuth bridge that pulls files from the user's own Drive/Dropbox/Instagram into your upload target. Zero storage of its own, so it cannot be multiplied; i","retry_when":null,"first_recorded":"2026-10-21"}},"binding":"none","binding_note":"no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit"},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.chaining","not-recorded"],["$.confidence_note","withheld"],["$.egress.terms","not-recorded"],["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.interface","interface-unknown"],["$.interface_detail","withheld"],["$.limits_note","process"],["$.per_object_cap.notes","not-recorded"],["$.per_object_cap.stated","not-recorded"],["$.retention.notes","process"],["$.retention.stated","not-recorded"],["$.tooling","not-recorded"]],"history":[],"drift":[]}