Components are different. They are also being created for a different purpose. Components are designed to fulfill the needs for very specific use cases and also to improve the developer experience massively with goals such as super fast deployment times, live coding in the cloud so you don’t need local emulation as well as live debugging with logs.
I say all this because the only way we found to make those goals feasible and drastically reduce deployment times to make testing in the cloud feel local was to actually move the deployment process off of a developers local machine and make deployments happen in AWS itself so that all the API calls are made on AWS’s local network which massively speeds up deployment.
What this means for your question is that in component’s case, when you deploy a component, at that moment the credentials in your .env is passed to the deployment engine in AWS, deployment is made to your AWS account and the credentials are then deleted by the fact the deployment container is essentially destroyed. So while your credentials are passed from your local machine along with your component configuration, this needs to be done each time.
We are hoping to leverage the same technique we use in the dashboard for the original V1 framework for components with a role and no need for credentials, but at this point we are trying accelerate release of components so folks can get use out of them and we can start getting some feedback to improve where it needs it.
Hope that helps answer the questions