Creating your WebID on the SAFE Network (Alpha-2)

also on Ubuntu 18.04

Is this feature replacing the standard pubID creation process for domains? Or is it instead adding another level of features so that the network will have both pubID and WebID?

1 Like


You can create a publicId (or publicName, which is a term I’m leaning toward to avoid confusion). This is effectively your domain. This can then point to any bit of data on the network.

The current setup via WHM has it pointing to a subdomain container for resolving websites normally.

With the POC we’ve added the ability to point your publicName / subdomain combo to a mutable data which is a web ID.

But in theory you could point your domain at any network data…

As it stands webIds and their publicNames are not compatible with the WHM due to conventions in the data structures (although making them compatible is possible, that just wasn’t a priority yet).

It is indeed another level. With the publicID/publicName setup for domains being one thing. And then creating a webId essentially leverages publicNames to give you a url to easily access the WebId / RDF data.


Intuitively it seems that if that happened WebIDs could be too easily abused if it was baked in at a low level.

This is a relief. Thank you!

p.s. @joshuef I agree that publicName is probably a better monicker to better differentiate.

A book I read a few years ago. Related very much to what safe are doing. Thought I’d share it:


I’m a big fan of Doc Searls!


When I click the create button referenced in step 8, my primary browser (firefox) launches and two files attempt to download from the following locations:

Very odd. The form referenced in step 9 appears successfully. However once I click submit a not authorized error appears and I can go no further.

Any ideas what could be going wrong on my end?

@cooedfox are you using the version of the browser linked in this thread (and not the earlier webid release). Thise two requests are for a font used in the webapps, these should be served by the latest version of the browser.

If you do have that version can you let me know your system please.

Also @cooedfox, if step 9 is saying not authorized, you may have ignored the Auth request at some point. Try restarting the browser and crating again. You should accept the Auth request when loading the webid manager

1 Like

Thanks for the reply! Will try again later on.

Puruse is grabbing stuff from the clearnet? I thought that wasn’t supposed to be possible?

I also noticed in the pat.ter code requests to https sites for namespaces. That’s a bit above my head, but I thought that was strange.

Hoping that puruse ability to request clearnet stuff will be removed or at the very least require that permission on a per app basis.

1 Like

Clearnet req, open in the main browser,not peruse. That’s what’s happening don’t worry safe sites in peruse cannot make Http requests.

The poc version has the fonts needed built it at the moment (due to limitations in the app build right now).

I also noticed in the pat.ter code requests to https sites for namespaces.

Can you clarify what you’re seeing here?

As I said, it’s above my head as far as the coding goes, but there are a few things like:

const ACTSTREAMS = postsRdf.namespace( ‘ActivityStreams 2.0 Terms’ );

throughout the code. This is from 175

I assume it’s defining a convention. Does it actually make a call to that or is that essentially a “comment” that isn’t a comment to let people know the standard?

1 Like

Above code snippet do not mean that data is transported over https. What it means is "whenever we say “ACTSTREAMS” we really mean that exact same thing as some folks have defined over at “ActivityStreams 2.0 Terms”.

Hope that helps.


That does help a lot. Thank you for that. I thought that might be what it was,

Interesting idea. Seems strange to me, after having my head in SAFE land for so long, that we would hard code a reference to such a mutable and transient object. Something like this coded with a safe:// reference would forever be a permanent record of what we’re trying to accomplish in the code.

When SAFEnet becomes a reality, developers can start using that space for publishing their semantic definitions (called “ontologies”). Makes little sense to use safe:// URIs before that namespace is a reality :wink:


Thanks for clarifying @jonas, you’re exactly right. Those urls are a reference (that’s not actually fetched in the code), to know we’re talking about the same thing. (The simple example is always a field ‘name’ in your data…, do you mean ‘first name’, ‘full name’, ‘last name’, ‘username’… these links hold such definitions for you data structure should anyone need to look them up.

And yeh, eventually these will be on safe:// urls, for dereferencing if anyone should want to. But for now this was a POC so we were moving fast (and also as it’s just us, we didn’t need to do any dereferencing).

Also sorry @wes that I didn’t respond sooner. Totally missed the notification here :expressionless:


Ideally yes, when SAFEnet becomes a huge success and those authoring the RDF ontologies choose to publish their standards on SAFEnet (instead or in addition to conventional clearnet publishing).

Or put differently: Please do not change those URIs away from URIs promoted by the ontology authors.


is this article valid now? do I need this version of browser to use webid and to use the app jams.demo?

Hi, I’m having some trouble creating my WebID on the SAFE Network. It seems no matter what I type into the form, I get the error “This publicName already exists (created by another app). You can’t make a webId here, sorry!”

Question: No item in the form is named “publicName” - which one is it referring to?

Regardless, I have used my company name, “ironhorsesoftware” as the Nickname and “safe://” as the Web ID URI, which is a domain I own, so I don’t know why someone else would have it. I tried to visit “safe://” and I received “Requested service is not found.” I think I’m doing something wrong.

I am using SAFE Browser Version 0.14.1 ( … am I on the wrong version?



On SAFE there are no top level domains (.com, etc), so the part that is already taken is ‘com’. If you try just me.ironhorsesoftware you should be fine.

The publicName is the last/rightmost part. The parts before it (eg ‘me’ in my suggestion), are called sub names.

Have another go and let us know how you get on.