Security
Security is a design requirement, not an afterthought
Because AccessLantern crawls URLs and processes documents that customers point it at, we treat request-forgery and file-handling risks as first-class design constraints, not edge cases.
Tenant isolation
Every tenant-scoped query is enforced at the application layer, the ORM layer, and the database layer (PostgreSQL row-level security) - not by a single check that could be missed in one code path.
Crawler safety
The crawler validates URL scheme and port, resolves and checks DNS against private/reserved IP ranges, re-validates at connect time to close DNS-rebinding gaps, and re-validates every redirect hop rather than following redirects blindly.
Credentials and files
Authenticated-scan credentials are stored only as references into a secret vault, never in plaintext. Uploaded files are scanned for malware and validated by content type before being marked available, and are never made public to process them.
Access control and audit
Role-based access control scoped to department, property, or vendor status; multi-factor authentication; and an immutable audit log of security-relevant actions, including any platform-support access to a tenant's data.