• Safer AI Workspace: Key Takeaways

    I started this series with a simple question: how can I use AI to build useful things while protecting the files and accounts I already depend on?

    My plan is based on Windows 11 Pro, but the main ideas apply to Mac, Linux, and hosted workspaces too.

    We began with protecting existing files: backing up important work, checking drive encryption, keeping recovery information safe, and practicing a restore. Active projects, older archives, and backup copies each need a clear home.

    Then we looked at separating personal and development work. A separate standard account and individual project folders can help, but the actual file permissions need checking. A folder name alone does not protect its contents.

    Choosing where the tools run came next. We covered development workspaces and containers, which can hold a project’s tools and software. Their usefulness depends partly on understanding which files and accounts they can reach.

    For everyday work, Git provides saved checkpoints. The habit I want is to make small changes, review what AI changed, test the result, and keep a way back. Separate backups still matter.

    We also covered account security, recovery options, and keeping passwords and API keys out of shared code, screenshots, and conversations.

    AI access deserves its own review. That includes files, commands, and connected apps. Outside documents can contain misleading instructions, and written project rules do not enforce access limits by themselves.

    That is why testing matters. Use harmless files to check that intended work succeeds and restricted actions are blocked. Check different access routes and record what actually happened.

    Bringing existing projects into the AI workflow comes after those checks. Bring in one project at a time, preserve important notes, verify the output, and keep the original available.

    From there, the goal is one small project using made-up information: build, review, test, publish, and practice returning to a working version. Keep test data separate from real customer data, and understand who owns, pays for, and supports the project.

    Finally, keep reviewing updates, permissions, backups, costs, and recovery plans as the work changes.

    I am still learning. My biggest takeaway is to start small, understand the access I grant, check the results myself, and keep a way to recover. That is the approach I want to carry into whatever I build next.


  • Safer AI Workspace: Keep the Setup Useful as Your Work Grows

    The setup will need attention after the first project works.

    Tools change. New connections get added. A practice project may become something a customer depends on. I want a routine that keeps the original limits understandable as the work grows.

    For regular development, that means checking updates, reviewing changes before accepting them, and keeping useful project notes. If a package update affects the application, I want to test it before sending it to users.

    When I change AI access settings, add an integration, or make a significant tool update, I want to repeat the relevant checks with harmless files. An older result may no longer describe the setup I am using.

    Backups need attention too. Code history, design originals, uploaded files, and live databases may live in different places. Archived projects need a second copy as well. I will periodically restore a sample from both active work and the archive. External backup drives will be connected deliberately, checked, and safely disconnected afterward.

    For an application with real users, I want to know when it stops working, how people can contact a human, and who is responsible for a fix. I also want usage and spending alerts where the services offer them.

    I am planning a short recovery note while things are calm. It will say how to stop an unexpected task, restrict further access, preserve useful logs, and contact the right help. If an account or key may be compromised, I would use a trusted device to revoke affected access and review sessions. Disconnecting the laptop alone does not stop activity in cloud accounts.

    I would restore from a known working backup after addressing the cause. If customer information might be involved, I would get qualified help promptly to assess what happened and the response needed.

    This series gives me a starting routine: limit access, work in small steps, check the results, and keep a recovery path.


  • Safer AI Workspace: Take One Small Project Through the Full Process

    At some point, I need to use the setup to make something work.

    My first goal is a small page with made-up content. It does not need customer accounts, payments, or private information. I want to learn how a change moves from my computer to a page I can open online.

    The process I want to practice is straightforward: make a small change, run it locally, review the changed files, open a test version, and publish after checking the result. Then I want to learn how to return to the previous working release.

    Publishing rules need their own setup. A review step only blocks a release if the hosting and repository settings actually enforce it. For a solo project, I still need to perform the review myself. GitHub branch protection guidance.

    As an application becomes more involved, I want to keep three places distinct. Local development is where I build. A test or staging environment is where I check changes. Production is the version real users depend on.

    A preview address does not automatically give me separate data. I must check which database and service credentials it uses. A test page connected to the live database can still change real information.

    When a project needs logins or payments, I plan to use established services and learn how to configure them correctly. Using a provider still leaves me responsible for who can access which records and how my application uses the service. Experienced review becomes valuable before real customer information or money is involved.

    I also want to ask the business questions early. Who needs this? What is the smallest useful version? Who owns the accounts, pays the bills, and handles support? What happens to costs as usage grows?

    Those questions can keep the project small enough to finish.

    For the next step, choose a disposable page and take it through the whole process. Use only information you are comfortable making public, inspect the result, and practice returning to a known working version.


  • Safer AI Workspace: Move Existing Work One Project at a Time

    There are two moves in my updated plan, and they happen at different times.

    The first is the storage move from Part 4: copying active files to a suitable working location before installing the new tools. That does not mean handing those files to an AI assistant.

    The second is bringing existing work into the tested development workflow. That is the move I want to take slowly, one project at a time.

    Once the disposable project works and the access checks pass, I can choose something small. Keeping the moves separate should help me understand whether a problem came from the storage location, the new environment, or the project itself.

    I want an inventory before I begin. Code, design files, research, and decisions may live in different places, including cloud sessions and old conversations.

    A README can explain what the project is and how to run it. A short decisions note can preserve the choices I would otherwise have to reconstruct. Neither needs to become a transcript of every conversation.

    Before adding files to Git or sharing them with AI, I will check for credentials and private information. An exposed key needs attention at the service, even if I move or delete the file containing it.

    For design-to-code work, I will transfer the specific exports the project needs. In my Windows plan, C:\Work_handoff is a temporary transfer folder; the approved files then go into the individual Linux project. I do not need to connect the whole work folder or archive.

    I also want one clear source for shared content when a project produces a website, document, and app. After updating old paths, I will run the whole process and inspect the outputs with the former drive disconnected.

    The original and its backup stay available until the new version has been checked in real use. If a deadline makes that impractical, I can schedule the transition around it.

    Today, choose one project and list its files, dependencies, and important decisions. Keep early storage preparation separate from later AI access.


  • Safer AI Workspace: Test the Limits Before Trusting Them

    One of the most useful lessons in my setup guide is to test what the settings actually do.

    A configuration can look reasonable while allowing more access than I intended. It can also block the project so completely that normal work fails.

    I want to check both sides before giving the assistant important files. My storage move happens earlier; these checks decide whether the new AI workspace is ready.

    I will first check the work account itself using harmless samples in personal folders, including folders I created directly under C: and their subfolders. I want to confirm that private files are blocked and the intended work folder remains usable. Mac and Linux users can test their own account permissions the same way.

    The next test is positive. In a disposable project, can the assistant create and edit a harmless file? Can the project run with the intended restrictions still active? I will open the result myself.

    The next tests check the limits. I can create a harmless sample file outside the allowed project and confirm that it exists. Then I can test whether the assistant’s file tool can read it and whether a command it runs can read it.

    Those are different routes. Where the setup supports it, I also want a check using a small script that tries to open the same sample file. The important result is the actual access decision, not the assistant saying it thinks the file is unavailable.

    An error saying the file does not exist is not proof that a permission rule blocked access. I need to understand why the attempt failed. Inside a container, I must also be sure I am checking the intended host location rather than an unrelated folder with the same name.

    Other checks become relevant as I add tools. Does the secret scanner detect a documented fake test credential? Does a repository rule block the action it is meant to block? Does an approved cloud connection reach only the intended account or content?

    I will use disposable files and repositories for these exercises, never real customer information or real keys.

    My record can stay simple: date, tool version, expected result, actual result, and anything still untested.

    Passing confirms those specific checks worked at that time. It does not prove the setup is safe against every possible problem.

    For today, test one allowed action and one action that should be blocked. Write down what actually happened.


  • Safer AI Workspace: Keep Passwords and API Keys Out of Shared Work

    An API key is a credential that lets software use a service. Depending on its permissions, it may access information, change something, or generate charges.

    That is why I want to treat it with the same care as a password.

    My starting rule is to keep real keys out of code, public posts, screenshots, and AI conversations. When I need help with a setting, I can use a placeholder instead of the real value.

    Some projects load local settings from a file named .env. That file can contain secrets, so I need to keep it out of Git and limit access to it. The filename itself does not encrypt or protect the contents.

    A companion file named .env.example can show the required setting names with blank or clearly fake values. That helps someone set up the project without sharing the actual credentials.

    For learning, I want separate development resources and test credentials where the service supports them. I will also limit permissions and set spending controls where available. A test key may still have access or cost implications, so it deserves protection too.

    Live application secrets belong in the hosting service’s secret settings, with access limited to the people and systems that need them. I do not want to copy them into a practice project.

    Keeping live keys out of that folder does not remove every route to the live app. A signed-in hosting dashboard or a GitHub account allowed to publish can still be powerful.

    I also want secret scanning as another check. A scanner can catch common credential patterns in files or saved history. It can miss things, and it needs to run on the material I am actually sharing.

    If a real key is exposed, deleting the visible text is only part of the response. The key needs to be revoked or replaced at the service that issued it.


  • Safer AI Workspace: Learn What a Project Container Adds

    A container is one of the more technical parts of my setup plan. The reason for learning it is practical: I want a project to have a defined place for its code and supporting software.

    A development container can package the tools and versions a project needs. That can make the setup easier to repeat on another computer.

    It can also limit what a program can access, but the configuration matters. I should not assume that anything called a container is isolated from all my other work.

    For example, a container can be given access to folders on the main computer. Those shared folders are often called mounts. If I share my whole personal folder, the container can reach what I deliberately made available.

    Credentials matter too. Some editor integrations can pass through Git sign-in or an SSH agent, a service that authenticates requests using a key. That could give the container access to online work even if the key file itself is not inside it.

    My plan is to review the folders, credentials, network access, and startup scripts before using a container with important material. A startup script is code that runs when the environment is created or opened.

    I also need to run the assistant inside the container. Creating a configuration file while continuing to run the assistant on the main computer does not move the assistant into that environment.

    Docker is one tool used for this. Access to Docker’s control service can be very powerful, so I do not want to expose that service casually to the assistant. My initial plan is to manage the container myself.

    This topic applies to Windows, Mac, and Linux, though installation and behavior differ. A virtual machine may suit some higher-isolation needs; it still needs its own careful setup.

    For a first exercise, use a disposable project. Check that the project works inside the container, then inspect what was shared into it. The useful result is a setup you understand well enough to describe accurately.


  • Safer AI Workspace: Be Careful With What You Connect and What AI Reads

    An AI tool may need only one folder for a task, but that may not be its only source of access.

    If I connect email, cloud storage, or another app, I am adding another route to information. I want to review that access separately from the local project folder.

    The practical questions are straightforward. Can the connection only read information, or can it also edit, send, delete, or share? Does it cover one project or a whole account? Can I turn it off when the task is finished?

    A desktop interface also does not tell me where all processing happens. I need to check the product’s documentation and settings before making promises about where work or data stays.

    There is another issue I am learning about called prompt injection. That means content an AI reads contains instructions that try to redirect it. A webpage, file, or message might ask the assistant to take an action that has nothing to do with my request.

    For example, I might ask for a document summary and the document might contain text telling the AI to upload another file. That instruction came from the document, not from me.

    The response I want is to treat outside material as information to examine. It should not grant permission for unrelated actions.

    Technical limits still matter because I cannot assume the assistant will always handle misleading content correctly. Narrow folder access, limited account connections, and review before external actions can reduce what an unwanted instruction could affect.

    If I see unexpected activity, I will stop the task and inspect what actually happened before continuing. An explanation from the same session is not enough on its own.

    Today’s useful step is to review the full list of connected apps and folders. Remove access that is no longer needed and check the permissions on what remains. Selecting a new project folder should not be treated as proof that old connections disappeared.


  • Safer AI Workspace: Understand What Your AI Assistant or AI Agent is Allowed To Do

    Before using an AI assistant or an AI agent on important work, I want to understand its access settings. I need to understand what my AI is allowed to see and do.

    Can it read only the current project? Can it change files elsewhere? Can it run commands, install software, or connect to websites? What happens when a requested action is blocked?

    Two terms keep appearing in my setup guide: permissions and sandboxing.

    Permissions are the tool’s rules about which actions are allowed, blocked, or require approval. A sandbox uses technical restrictions to limit what a running program can reach. The exact coverage depends on the tool and its configuration.

    My guide uses Claude Code as an example. Its built-in shell sandbox and its file-tool permissions are separate controls. I need to check both, rather than assuming one setting covers everything the assistant does.

    For any assistant, I want to know whether it can retry a blocked action outside the sandbox. I also want to know whether extra tools or connected services operate under different rules.

    My starting preference is narrow access to one practice project, limited connections, and deliberate approval for actions such as publishing or changing account access.

    When something is blocked, I want to understand the reason. Perhaps the project needs access to a specific package source or tool folder. That is a reason to investigate the precise need before granting broader access.

    I also plan to keep short written project instructions. They can describe the project, how to test it, and when to ask me before making changes. Tools differ in how they load these files, so I will check the instructions actually being used.

    A written rule helps communicate expectations. It does not enforce a file restriction by itself.

    For now, I will learn one assistant before adding another. Each new tool brings settings and connections to review.

    Today’s task: open your AI assistant’s access settings and write down what it can read, change, run, and connect to. Leave unanswered questions visible until you have checked them.


  • Safer AI Workspace: Secure the Accounts Connected to Your Work

    A careful computer setup still depends on the accounts connected to it.

    If someone gets into my email, they may be able to request password resets elsewhere. If they control my domain account, they may be able to change where my website or email points.

    That makes account security part of this development project, even before I have written much code.

    My review starts with email, the service that manages my domain, and my password manager. Then I will check GitHub, hosting, payment services, and the AI tools I use.

    For accounts that support them, passkeys and compatible security keys are worth reviewing. They are designed to resist fake sign-in sites. An authenticator app can add a second sign-in step where that is the available option. The recovery method matters alongside the sign-in method.

    I want to know how I would get back into an account if I lost my phone or laptop. Depending on the service, that may involve recovery codes, another registered key, or a documented account recovery process. I will store recovery information securely outside the device I might lose.

    I also want to review active sessions, older devices, and connected apps. Changing a password is not always the same as signing every session out. An integration I approved months ago may still have access.

    For business or client work, account ownership needs to be clear. A client should be able to control the services their project depends on. Where the service supports it, I would use an individual collaborator account with the access needed for the work.

    This part of the setup applies regardless of whether the computer runs Windows, macOS, or Linux. A browser-based AI tool also relies on these accounts.

    One useful action today: open the security settings for your main email account. Review sign-in protection, recovery options, and devices or apps you no longer recognize or need.