NEW LLC WHO DIS?

This post is mostly just for legal reasons.

Let it be known that as of 8/24/2021, OctoEverywhere, its operation, financial liability, and legal liability is owned exclusively by my newly formed LLC, qLabs LLC!

To the users, nothing is different. The service is still owned, developed, and operated exclusively by me, Quinn Damerell (since I’m the only owner of qLabs LLC). The formation of the LLC simply helps me manage the business more officially and make sure I’m following all of the required business guidelines!

From day 1, my goal with OctoEverywhere has always been to build a tool for empowering the entire maker community. I’m over the moon with the success of the tool and the community we have all built so far. This is just the beginning, there’s so much more to come!

A very special thanks to each and every one of you who has made this possible!

The Security Behind OctoEverywhere

Last Updated: 8/17/2023

Being a 3D printing maker myself, I fully understand the concerns around exposing printers to the internet. It’s a wonderful and powerful tool for all makers, but it has to be done right. Security has been the top priority since day zero of designing and writing the OctoEverywhere service. Every feature I have designed requires absolute security, and if I can’t do it securely, it doesn’t get added to the service.

There are two main things to consider with security:

  • Account security that relies on you.
  • Service security that relies on OctoEverywhere.

Your Account Security

The #1 entry point to all cyber attacks (even the big corporate hacks) is exploiting users to get their credentials. Your account credentials are the keys to your kingdom. It’s up to you to make sure they are unique and secure. Here’s something to consider to keep your account safe.

  • Use Strong Passwords
    • Our system enforces a minimum password length, but you must make sure the password is strong. Strong passwords are long and include letters, numbers, and symbols. Using a password manager is a great way to generate secure passwords. You can update your OctoEverywhere password anytime using the password reset system.
  • Never Reuse A Password
    • Reusing passwords on other websites opens you up to attack. It’s far too common for other websites to leak passwords which are then paired with your email address and used by bad actors. Armed with your email addresses and password from other sites, a bad actor can reuse that combination to gain access to your OctoEverywhere account. Using a password manager is a great and simple way to keep track of per-website passwords.
  • Enable 2-Factor Authentication
    • OctoEverywhere supports 2-factor authentication, a fantastic way to keep your account secure. Even if a bad actor acquires your email and password, unless they also have the constantly changing 6-digit code from your device they can’t get in. This means your account is still secure even if you accidentally give away your password! I strongly encourage you to enable two-factor authentication on your account, which you can do here.
  • Use Google, Facebook, or Apple Login
    • Using a login partner adds another layer of security to your account. These massive companies have many great engineers working on keeping our accounts secure. You can add any login to your account, assuming you use the same email address. To fully secure your account, update your OctoEverywhere password to a strong, long, and unique one.
  • Email Based Access Challenges
    • If you try to log in to your account from a new location, our system will detect the change and require an email-based code challenge. This adds another layer of account security, so even if your credentials were compromised, attackers can’t get direct access to your account.

OctoEverywhere Service Security

As I said at the top of this post, I take security very seriously. No service can ever guarantee perfect security in today’s modern world, but I put security first in everything I do. No matter how great a feature would be for our community, I won’t add it if it can’t be done securely. All of the OctoEverywhere systems are designed with multiple layers of security using cutting-edge security standards and practices.

I believe that transparency is an obligation for all service providers to supply. If there is ever a security-related issue with OctoEverywhere, no matter how small or large, I will promptly inform all users and make sure to get in contact with any users who are directly affected.

Account Information

We collect the minimal amount of account information as possible, just an email and password. We don’t need to know anything else, so we don’t want to. We don’t even know your first name, so we can’t greet you!

We need to collect more information if you decide to support the project, but our services don’t hold all that information. It’s held by our subscription partners ChargeBee and Stripe. ChargeBee and Stripe are the leading global payment systems in the world.

Your Browser To Printer Connection

When you connect to your printer, your browser’s connection to our servers and your printer’s connection to our servers is encrypted and secured using industry-standard encryption. The same encryption system is used by your bank when you connect to manage your funds online. This is the first layer of security for printer connections. Your browser holds a session cookie that’s 256 bytes of high entropy randomness that identifies you and your authentication to the service. For a browser’s request to be sent to a printer, the browser must present a valid session cookie associated with the correct account and the printer associated with it. Before anyone can send requests to your printer, they must have a valid user session authentication token.

After your browser has authenticated you to the service and the service allows your request to be sent to your printer, you must also log in to the OctoPrint interface using your local OctoPrint credentials. Our OctoEverywhere service securely transports your login credentials through our system but never stores them in any way. The credentials are lost from our system immediately after sending them to your printer. This is the second layer of protection. Since no OctoPrint credential information is ever stored anywhere in our service, a bad actor cannot obtain them from our services.

App Connections

App connections create a per-app and per-portal session “app id” granting access to only the selected printer. The authentication session given to app connections does not allow the apps access to your account or any other printers. Furthermore, app connections are also secured by unique and random http credentials associated with the app id, which must be present in all of the app’s requests. These credentials are sent in encrypted communication to our servers, so they can’t be intercepted in man-in-the-middle attacks. You can revoke any app’s permission at any time via the shared connections page on our website. Revoking the credentials will immediately block the app and any access to your printer.

The second layer of security on app connections is the authentication key the app must also acquire from OctoPrint. Similar to browser-based connections, even if a bad actor were able to acquire the app’s “app id” and unique password to send requests to the printer, the bad actor would still need to acquire the app’s OctoPrint token, which is known only to the app on your device.

General Service Security

Our service runs on a secure hosting provider, Digital Ocean. Digital Ocean is one of the largest hosting providers in the world, so they are a great choice. Our prescient storage and databases are hosted in Microsoft’s Azure, which is also a leading worldwide hosting provider. Each of these providers has a ton of security practices and rules in place, and I try to follow them all.

I only disclose any OctoEverywhere information to other 3rd party services when absolutely necessary. For example, I need to send a unique user key to ChargeBee to support subscriptions. Any 3rd party service or accounts I use for OctoEverywhere are secured with a unique and strong password and have two-factor authentication set up where available.

Final Thoughts

I hope this post adds some transparency to the OctoEverywhere service and helps the OctoEverywhere community better understand the extensive security practices and procedures I consider and implement.

If you have any questions or concerns, please feel free to reach out to me via the contact page which will directly email me. I would be more than happy to discuss any further questions anyone has. If any questions are generalized enough and would be interesting for the community, I will update this post with the information.

WELCOME HOME – A NEW LANDING PAGE

Every since OctoEverywhere launched in beta back in November, the user home we know and love hasn’t changed much. Some have asked, why does all of my printer information load on top of the main website homepage? Well… there’s no good reason beyond when I was originally working on the prototype it was a quick and easy place to put it.

I have wanted to make the user home experience better for some time now and I finally found some time to do it. When reworking the experience, I had a few high-level goals:

  • Make a new delightful home for our just community.
  • Make it functional and glanceable.
  • Make it clean.
  • Make it modern.

One big goal was to make the new printer dashboard functional, so if you wanted to super quickly check on a print you don’t have to load the full OctoPrint dashboard. I’m very happy with the resulting webcam preview feature and hope to add more at-a-glance functional very soon.

The new dashboard is live now! To use it, just sign into your OctoEverywhere account and you will be directed to it!

As always, your feedback and support is what powers OctoEverywhere. We welcome any and all feedback, be it good or bad. Please send any feedback through our support system, I read each and every message.

SIGN IN WITH GOOGLE IS NOW AVAILABLE

Quick and cute blog update, Sign in with Google is now available!

What does that mean? It means you are now able to create or sign in to an OctoEverywhere account using a Google account. There are a few advantages to signing with Google:

  • Higher Account Security: Your account can be more secure, if you can take advantage of Google’s account security features.
  • Login Speed: Click a button and you’re in!

To be clear… we don’t send any information to Google about you and we only require your email address from Google. We don’t have access to any other Google account information even if we wanted to read it.

The decision to use your Google account is totally up to you. For users with existing accounts, you can set up Sign in with Google as long as your OctoEverywhere account email address matches your Google account email address.

And remember, to make your OctoEverywhere account as secure as possible, enable two-factor authentication!

That’s all for now! A lot of big things are on the horizon, so stay tuned!

MORE DATA CENTER REGIONS UNLOCKED 🔓

Hello Astronauts!

I have a quick and exciting update… we have new data center regions! 🎉

Made possible by the contributions from our wonderful project supporters, I have been able to bring online two new data center regions, Toronto CA and Bengaluru India! This brings our grand total data center regions to 7!

Here’s the list for those of you keeping track:

  • New York, US
  • San Francisco, US
  • Toronto, CA
  • London, EU
  • Frankfurt, DE
  • Bengaluru, IN
  • Singapore

What does more data center regions mean for you?

Speed & Performance – The closer a user is to a data center, the better their experience is. Since your data has to travel from your printer to the server and back to wherever you are, the closer the better! The speed increase will affect how quickly the interface loads, how snappy commands are, and how smooth file transfers and webcam streams perform.

Reliability – The global network of servers powering OctoEverywhere interconnect to create a reliable and adaptive mesh. The servers have the ability to summon your printer connection anywhere in the world to ensure the shortest path to wherever you are at the time. The system can also heal from outages of data centers by redirecting connection traffic to other nearby data centers until the outage has been restored.

Congestion Distribution – Your printer is automatically routed to the most ideal data center region using OctoEverywhere smart server mesh. Having more data centers regions means users are more spread out among the servers, leading to less congestion and competing traffic.

The OctoEverywhere project is 100% community funded. This expansion, the upcoming v1 protocol, and countless other new features are made possible by the community’s support. I greatly appreciate everyone’s support of the project and am amplified by the passion the community brings. ♥

Happy Printing!

V1 PROTOCOL TESTING NOW!

I wanted to post a quick update about the OctoEverywhere v1 printer protocol! I have spent countless hours developing it and I’m happy to announce that the v1 protocol is now live for a subset of users!

When you connect to your printer if you see octolab in the URL, you’re on the new protocol! For example, you might see:

https://ender3.octolab.octoeverywhere.com

The v1 protocol is a total re-write of the printer protocol in which I made some dramatic advances in the technology. (the full details will be published in a blog post soon.) To start, users will experience faster page loading times, smoother webcam streams, less data used, and smoother file transfers. In the long run, the v1 protocol makes the system much more flexible and efficient for upcoming features!

Consider this roll out a beta test of the protocol. Not everyone will have access just yet, but very soon. The transition to the v1 protocol should be 100% transparent for all users – so if you experience any issues, please reach out to me via the support ticket system so I can check it out!

To ensure you can use the v1 protocol as soon as it’s available in your region, make sure your plugin is up-to-date!

Happy Printing!

Important Plugin Update And New A Server Region

Two quick things:

#1 – Important Plugin Update

I’m not quite ready to reveal the details quite yet, but I have my eyes on the 1.0 version release of OctoEverywhere. As a part of that, I have been working on a massive re-write of the plugin to service protocol. The new protocol takes all of the learnings from the current protocol but makes everything even better. I plan to write a longer blog post about what’s new, how much better it is, and the challenges I faced working on it. But for now, this is the important message:

Please update your OctoEverywhere OctoPrint plugin within two months of this post or you will get degraded performance.

Stand by for future radio transmission regarding the OctoEverywhere 1.0 release celebration. 😉

#2 – A New Server Region Live! 🎉

I’m excited to announce that I just brought a new data center online… London!

This brings our total worldwide data center regions to five: two European, two United States, and one Asia-Pacific. What this means for our community is the service will be running closer to more of you – which provides a faster and more robust experience. From rough testing in Europe, I found about ~40% of users saw a 20-30% improvement in page load times.

This and future data center expansions are made possible by the support of the community. OctoEverywhere is 100% funded by supporters. Your support is what drives updates, more data centers, and features. Thanks to each and every one of you who support the project!

Printoid Full Integration Available Now

Printoid is a sleek, modern, and extremely powerful OctoPrint app for Android… and it just got even better.

Today I’m happy to announce Printoid v18.0 now has full OctoEverywhere integration! 🎉

Leveraging OctoEverywhere’s fast and secure App Portal, you can now empower Printoid to access your printers from anywhere in seconds. Whether you already have a printer set up in Printoid or you’re going through the first-time setup, Printoid + OctoEverywhere is pure magic.

Check out these beautiful, simple, and frictionless user flows.

Want to give it a try? Printoid v18.0 is available right now on the Google Play Store. Download the app and follow the in-app instructions to get started.

If you have an Android phone, you gotta take it for a test print. 😊

Questions? Comments? Feedback? Join the discussion!

Hello World!

Hello You! You found the new home for OctoEverywhere news!

I’m hoping a simple blog structure will give me more freedom to express updates and news. We shall see!