Roles, and what each one holds.
Nine roles over 66 permissions. The numbers below are the counts the platform actually grants — not a summary of them.
| Role | Sits at | Permissions | What it is for |
|---|---|---|---|
Platform administratorPLATFORM_SUPER_ADMIN | Platform | 66 / 66 | Declarly's own operator. Onboards companies, sets plans and rates, and holds every permission there is — which is why it is the one role a customer never has. |
Licensed brokerBROKER_SUPERVISOR | Filing workspace | 47 / 66 | Approves entries, and is the only role that can. Runs the filing desk: manifests, export filings, the wallet, invoices, statements and duty recovery. |
Entry writerBROKER_ENTRY_WRITER | Filing workspace | 32 / 66 | Prepares entries from client files and sends them for approval. Can classify, add PGA declarations and correct what came back — and cannot approve their own work. |
Company administratorORG_ADMIN | Company | 28 / 66 | Account health for the whole company: people and access, wallets and rates, which importers it may file for, and the audit trail. Does not touch entries. |
ImporterCLIENT_PORTAL_USER | Filing workspace | 4 / 66 | The client portal. Uploads shipment files, follows their own shipments, downloads their own records — and sees nothing belonging to the brokerage or to another importer. |
Partner administratorWHITE_LABEL_ADMIN | Partner | 4 / 66 | A reseller's own partition: onboarding the companies beneath it, their billing contracts, its revenue and its audit trail. Holds no filing permission at all, so it cannot see inside anybody's entries. |
TrackingIMPORTER_TRACKING | Filing workspace | 4 / 66 | Read-only sight of one importer's shipments and the manifests carrying them. For the person who only ever needs to know where something is. |
Declarly supportPLATFORM_SUPPORT | Platform | 2 / 66 | Two permissions: start a support session, and read the platform audit trail. Support cannot reach a customer's records as itself — only through a session, which is described under the audit trail. |
ISF filerISF_ONLY_USER | Filing workspace | 2 / 66 | Importer Security Filing and nothing else: read one, write one. The narrowest role the platform has. |
The spread is the design.
A role holding four permissions is not an unfinished role. It is a role that was given exactly what its job needs and nothing that might be useful one day.
Only one role has all 66
Platform administrator, which is Declarly's own operator role. No customer has it, and the customer roles top out at 47.
The gap between 47 and 32
The licensed broker holds fifteen permissions the entry writer does not. Approving an entry is one of them, and it is the one the separation of duties rests on.
Four is a whole job
An importer in the client portal, a partner administrator and a tracking user each hold four. A partner administrator holds no filing permission at all, so a reseller cannot read what the brokerages beneath it filed.
Where a membership sits decides what it sees.
A person is not given access to Declarly. They are given a membership at one scope, and every screen they open is answered inside it.
One person can hold more than one membership — an administrator of two companies, say — and switches between them explicitly. Nothing is merged: two memberships are two separate views, and a request carries the one it is for.
The 7 customer-facing roles sit at Partner, Company or Filing workspace. Entries belong to a filing workspace, which is an office with its own CBP filer code, so a company with two offices has two workspaces and a person may be in one of them and not the other.
Who can grant what.
A company administrator manages people inside their own company and cannot grant a permission they do not themselves hold.
Every membership change is written to the audit trail with who made it, and an invitation names the role before it is accepted, so the person joining knows what they have been given. What the audit trail records.
If a role you need is not in this list, say so — hello@declarly.com. The set is deliberately small, and it grows by argument rather than by default.