Once a team shares a link platform, the question stops being "can everyone reach it?" and becomes "can everyone do everything?" Shared infrastructure without guardrails produces collisions, mystery deletions, and keys that outlive their owners. This guide is the permission model that works: roles for humans, scopes for machines, review for destruction.
Humans: roles with a ceiling
The role ladder that fits most teams:
| Role | Can do | Ceiling |
|---|---|---|
| Member | Create links, view own analytics | Cannot touch others' links |
| Manager | Everything in the workspace | — |
| Auditor | Read everything | Cannot create or delete |
The operational rule: the person who creates a link owns it; managers intervene only on escalation. This keeps accountability simple — every link has exactly one owner, and the audit trail ("which key, which link, when") stays unambiguous.
Machines: scoped API keys
Automation should never hold a human's power. The API key model is the enforcement layer:
links:read → dashboards, audits, exports
links:write → creation pipelines, campaign builders
analytics:read → reporting jobs, alerting
Concretely: the marketing intern's campaign script gets links:write + analytics:read — it can create links and read their performance, but it cannot delete, and it cannot touch keys. The CI pipeline gets links:write only. Nothing gets all three except the team's lead key, rotated quarterly.
The review workflow for destructive actions
Deletion is the one action that needs ceremony:
- Delete via API or dashboard — the link and its events are removed.
- Confirm the blast radius — is the link in print? In an active email? Expiring links with 410 (expiry guide) are the graceful alternative to deletion.
- Archive first when uncertain — export the CSV before any bulk cleanup (bulk guide); CSV is the safety net.
The rule: expire what might be needed, delete what's provably dead, export before both.
The audit habit
A 15-minute monthly review keeps permissions honest:
- Keys: names, scopes, lastUsedAt. Keys unused in 90 days get revoked; keys with suspicious scope get narrowed.
- Links: the organization workflow review — dead links expired, titles fixed.
- Members: offboarded humans' sessions die at their 30-day expiry; revoke any keys they created.
The API returns everything the audit needs: key lists with last-used timestamps, link exports, analytics per link.
Common failure modes
| Failure | Guardrail |
|---|---|
| Shared personal logins | Sessions are personal; keys are the sharing unit |
| One all-powerful key in CI | Scope by pipeline; rotate quarterly |
| Intern keys surviving the internship | Revoke on offboarding, always |
| Mystery deletions | Owner-only delete + expiry-first culture |
| Audit-blind teams | Monthly key/link review from API exports |
Designing a permission model that scales
A permission model is only as good as its ability to grow with the team. Start from roles rather than individuals: define a small set of roles — owner, admin, manager, member, viewer — each with a clear set of capabilities, and assign people to roles instead of granting ad-hoc rights. This keeps the model comprehensible and auditable even as the headcount grows, and makes onboarding a new person a matter of choosing a role rather than wiring permissions one by one.
Least privilege in practice
Apply least privilege: give each person the minimum capability their job requires, and raise it only when there is a demonstrated need. A viewer who reports on campaign performance does not need the ability to edit destinations; a manager who runs campaigns may not need to delete links or manage billing. Least privilege is not about distrust — it is about shrinking the blast radius of a mistake or a compromised account. When an account is misused or a password leaks, the damage is bounded by the permissions that account holds, so keeping those tight is a genuine security control. This connects directly to the API key scoping discipline: the same principle — give a credential only the reach its task needs — applies to team members and to machine keys alike.
Auditability and accountability
Permission design matters because it determines accountability. When every link and every action can be attributed to a named role and, ideally, a named actor, then reviewing "who changed what and why" becomes tractable. Record the owner of each link or campaign, keep an audit trail of significant changes (destination edits, deletions, permission changes), and review it periodically. This turns the permission model from an access-control list into a governance tool: it answers who is responsible for what, detects odd activity early, and gives you the evidence you need when something goes wrong.
Common permission mistakes
The frequent failures in team setups are worth naming so you can avoid them:
- One shared admin account. It gives everyone the same power, destroys attribution, and turns a single leaked credential into full compromise. Use per-person accounts with roles instead.
- Everyone is an admin. It is easier to set up but removes the guardrails that make a multi-user system safe. Tighten to least privilege.
- No owner for shared links. Links nobody owns get stale, get deleted by accident, and have no one to answer for them. Assign an owner per link or per campaign.
- Permissions never reviewed. As people change roles or leave, stale permissions accumulate. Review the access list on a regular cadence and revoke what is no longer needed.
Naming these patterns helps you build guardrails that prevent the most common and most damaging misconfigurations.
Building the guardrails
The practical takeaway is to layer guardrails rather than rely on goodwill: role-based access, least privilege, named ownership, and periodic review. Together they make a shared link workspace safe enough for many people to work in without stepping on one another. The link organization workflow complements this by giving the same discipline to structure, so permissions and organization reinforce each other.
Conclusion
Team infrastructure needs roles for humans, scopes for machines, and review for destruction. The API key scopes implement the machine half; the owner model implements the human half; the monthly audit habit keeps both honest. Set up the workspace the way the key best practices describe, and the platform scales with the team instead of against it.
