This article is the twentieth edition of the Advent of Patterns series. In this series, running from December 1st to December 24th 2024, I will document one design or programming pattern I have noticed recently. Read more about this series..
A shareable link is a link to a web resource that you can share with others. All public links are shareable links. But for private or hidden resources, a shareable link grants access to a resource.
Shareable links are often combined with access control. For example, a shareable link may allow read, comment, or write access, depending on the preferences set by the owner of a document.
You can often configure:
- Whether the share link grants read/write access.
- Whether someone also needs to be invited to the document to see its contents.
- Whether someone needs a password to see the document.
Let’s walk through a few examples.
Google Docs, a collaborative document editing tool, implements shareable links. When you create a document, you can click “Share” to generate a link. When you click Share, you are able to add either specific people to a document or create a link that grants access to a document. The link can be scoped to give read, comment, or write access.
Or, you can use shareable links to grant access to people within a particular organisation. This is useful for team-based projects. I commonly use this feature to grant access to work documents to the whole organisation so that multiple people can collaborate on a document at once as soon as I share the link.
Here is the panel that lets you customise the privileges granted to someone who navigates to a document from a shareable link:
Figma, a design tool, lets you create shareable links with view and edit privileges too. The links can be scoped to work for anyone or only people invited to a particular organisation in the project. If you make a link available to everyone, you can set a password that must be typed in to access a resource. This serves as an additional layer of security.
Shareable links that allow read or write access to anyone without a password or being a member of an organisation or project in a tool are examples of capability URLs. These are URLs that “grant access to a resource to anyone who has the URL.” Knowing the URL is all you need to access the resource.
If you share a Google Document with anyone who has the link, you have created a capability URL. But if someone needs to be a member of a Google organisation to access the resource, the URL has additional restricted access on top; in that case, the URL only gives access if a user meets all access control requirements.
GitHub Gists, a tool for sharing code snippets, lets you publish private code snippets that are only accessible to those who have the link. This is another example of a capability URL.
Shareable links are an invaluable tool for collaborative software and documents that you may want to share with others. They le people access a resource without having to navigate to a specific page in an application to find the resource.