Impact of imports and forks on embeds?

Jeremy’s post introducing the embeds here:

Says the following:
“Note the access key appended to the URL. This key is private to you, unique to each of your notebooks, and allows you to control where your notebooks are embedded. For the moment, if you need to reset an access key, send an email to, and we’ll sort you out.”

How does this “control of your embeds” work for forks?
More importantly, how are dependencies “imports” handled?

Here are some direct questions:

  1. If someone wants to embed your notebook, they can just fork it?
  2. In scenario 1), there is nothing you as a notebook “owner” can do to stop the embed?
  3. If an embedded notebook imports from a third party and the imported notebook is deleted by the third party, the embed is broken assuming it’s querying the Observable API?
  4. Would forking and then importing solve the issue in 4)?


Excellent questions! These are all things we’ve discussed at some length, and are continuing to try and find policies that feel “just right”.

To respond:

  1. Yes. If someone wants to embed your public notebook, they can just fork it, and embed their copy.
  2. If you don’t want someone to use your notebook, then don’t publish it publicly. (You can “Share” it instead of “Publishing” it.) Even without forking, people can copy code from your public notebooks, paste it in to their own, and embed it.
  3. Yes, although we’re hoping to make type of breakage as rare as it possibly can be. In the future, all notebook imports will automatically have their versions pinned, and one a particular version of a notebook has been published, it’s immutable, and remains available from the API. If the author then goes out of their way to permanently delete it (perhaps by contacting support), it would indeed be taken down. But that would hopefully happen as rarely as npm modules disappearing.
  4. Forking then importing would indeed “solve” the issue in 3 — but I wouldn’t recommend it as your default, aside from the truly paranoid.

If you’ve got any further suggestions or questions about this model: shoot.