github.com/simpleiot/simpleiot@v0.18.3/docs/ref/security.md (about) 1 # Security 2 3 Users and downstream devices will need access to a Simple IoT instance. Simple 4 IoT currently provides access via HTTP and NATS. 5 6 ## Server 7 8 For cloud/server deployments, we recommend installing a web server like Caddy in 9 front of Simple IoT. See the [Installation page](../user/installation.md) for 10 more information. 11 12 ## Edge 13 14 Simple IoT Edge instances initiate all connections to upstream instances; 15 therefore, no incoming connections are required on edge instances and all 16 incoming ports can be firewalled. 17 18 ## HTTP 19 20 The Web UI uses JWT (JSON web tokens). 21 22 Devices can also communicate via HTTP and use a simple auth token. Eventually 23 may want to switch to JWT or something similar to what NATS uses. 24 25 NOTE, it is important to set an auth token -- otherwise there is no restriction 26 on accessing the device API. 27 28 ## NATS 29 30 Currently devices communicating via NATS use a common auth token. It would be 31 nice to move to something where each device has its own authentication (TODO, 32 explore NATS advanced auth options). 33 34 Long term we plan to leverage the NATS 35 [security model](https://docs.nats.io/nats-concepts/security) for user and 36 device authn/authz.: 37 38 - [NATS authentication](https://docs.nats.io/running-a-nats-service/configuration/securing_nats/auth_intro) 39 - [NATS authorization](https://docs.nats.io/running-a-nats-service/configuration/securing_nats/authorization)