Principle: autonomy with verifiable limits
Autonomy is useful when its limits can be checked. That is why 100% of production deployments require explicit human authorization, and the rest of the system is built so every action is recorded and reversible.
Identity and access control
Passwords are stored with Argon2id. Sessions are opaque — the identifier carries no information — and protected against CSRF. Failed access attempts are progressively blocked.
Permissions follow least privilege through roles: each account can do exactly what its function requires and nothing more.
Encryption and isolation
Traffic travels over modern TLS and data is protected at rest. Services run in unprivileged containers on private networks separated per service, and PostgreSQL is never exposed to the internet.
Secrets live outside the code and the repository, in environment variables managed on the server. No deployment depends on a versioned credential.
Supply chain
Dependencies, leaked secrets and the code itself are analysed before integration. Container images are reproducible with pinned versions, so a deployment can be repeated identically tomorrow.
Useful auditing
Events are logged structured and chained, without passwords, tokens or sensitive information. A later audit can reconstruct who did what, when and on which resource without depending on anyone's memory.
Hard rules for the agent
SQL always parameterized, never concatenated. Every external input validated against a schema. Isolated branches for any change. No destructive operation and no production data without explicit permission and a stated reason.
Reference standards
The design references OWASP ASVS for application security verification and WCAG 2.2 for accessibility, and personal data handling follows the applicable Chilean regulation.