KnowledgeCore is built for organisations where data cannot leave the building. This page covers data flow, encryption, authentication, audit controls, and PDPA compliance posture — the evidence a serious enterprise procurement team needs before sign-off.
The core security property is simple: every component that touches your data runs on your hardware. There is no cloud dependency during operation.
| What | Encryption method | Status |
|---|---|---|
| Data in transit (user → API) | TLS 1.3 via Cloudflare Tunnel (public endpoint) or LAN HTTPS (private deployment). All API endpoints require HTTPS. | Live |
| Vector database (Qdrant) | Docker volume on host filesystem. Host-level encryption (LUKS or macOS FileVault) recommended and documented in the deployment guide. Qdrant data directory is not exposed outside the container network. | Live |
| PostgreSQL (relational store) | Docker volume. Same host-level encryption applies. PostgreSQL connection uses password authentication; password is environment-variable injected, not in source code. | Live |
| Redis (response cache) | Docker volume. Cache keys are SHA-256 hashes of the query — no plaintext question stored. Cache entries expire after configurable TTL (default 1 hour). | Live |
| Licence keys (JWT) | RSA-256 signed. Private key is never transmitted — stored on TechnoNet infrastructure only. Public key is embedded in the deployed application for validation. | Live |
| Application secrets (.env) | Environment variables injected at container startup via Docker env_file. Not stored in source code or logs. Rotation supported via container restart. | Live |
kc-*) for easy identification in access logs.kc-*, deduct 1 token per query, return 402 at zero balance). Role distinction is enforced at the auth middleware layer.Every query is logged with enough context to reconstruct exactly what was asked, what was retrieved, and what was answered.
| Log entry field | Value captured |
|---|---|
| tenant_id | Which tenant made the query |
| timestamp | UTC timestamp of the query |
| question | The exact question submitted |
| intent | Query intent classification (VECTOR / RELATIONAL / HYBRID) |
| sources cited | Document names, page numbers, and confidence scores returned with the answer |
| corpus_gaps | Queries that could not be answered (no relevant content found) are logged to a separate corpus_gaps table — enabling corpus gap analysis |
| node_timings | Processing time per pipeline stage — retrieval, reranking, generation — for performance audit |
| answer_retry / grade_retry | Whether the system retried retrieval or answer generation due to quality issues — surfaced in the audit trail |
Logs are stored in PostgreSQL on your server. Export via SQL query. Retention period is configurable. Tamper-evidence hardening (append-only log table) is on the roadmap for regulated sector clients.
| Obligation | How KnowledgeCore addresses it | Status |
|---|---|---|
| Data residency | All processing on customer hardware. No data crosses a national border. Consistent with PDPA s.129 (cross-border transfers) by design — there is no transfer to make. | Live |
| Security Principle (PDPA s.9) | Access control (bearer token), authentication (per-tenant keys), encryption in transit (TLS), audit logging (PostgreSQL). PDPA (Security) Regulations 2013 minimum measures met. | Live |
| Controller / processor roles | Customer is the data controller. TechnoNet is the data processor under a Data Processing Agreement (DPA). DPA template available to Enterprise and Industrial clients. | Available |
| Breach notification readiness | All query logs and document access are timestamped and attributed to tenant. If a security incident occurs, logs provide the forensic trail required for PDPC notification under PDPA s.12B (inserted by the 2024 Amendment). | Live |
| Retention and deletion | Response cache TTL is configurable (default 1 hour). Corpus deletion API removes all indexed content for a tenant. PostgreSQL records can be purged on request. Documented deletion procedure provided on request. | Live |
| Brunei PDPO 2025 | Same on-premise architecture satisfies Brunei's PDPO 2025 data residency requirements. | Live |
| Penetration test | Independent penetration test not yet conducted. Planned before Industrial tier clients onboard. Available on request for Enterprise clients as part of the setup engagement. | Roadmap |
| ISO 27001 | Not certified. TechnoNet follows ISO 27001 controls as internal practice; no certification is planned. | Not certified |
The Industrial tier supports fully air-gapped deployments. The server has no internet access after installation — licence validation, model inference, and all queries operate entirely offline.
| Component | Air-gap behaviour |
|---|---|
| Licence validation | JWT licence validated using the embedded RSA public key — no call to TechnoNet servers required after deployment. |
| AI model inference | LLM and embedding models are GGUF/MLX files stored locally. No API calls to OpenAI, Anthropic, or any cloud AI provider. |
| Vector database | Qdrant runs as a local Docker container. No cloud sync, no telemetry. |
| Model updates | New model versions are delivered as file packages — transferred via secure media (USB/SCP). Update process documented in the deployment guide. |
| DNS / outbound | Application makes no DNS calls during normal operation. Firewall rule blocking all outbound traffic can be applied without breaking core functionality. |
| Question | Answer |
|---|---|
| Does the application phone home? | The API server does not. The website HTML includes an analytics pixel (analytics.emas.ai) that can be removed in your deployment package — it tracks page views only, no document or query content. |
| What ports does it use? | API: 8000 (configurable). Qdrant: 6333 (internal). PostgreSQL: 5432 (internal). Redis: 6379 (internal). Cloudflare Tunnel: outbound 443 only (optional, for public endpoint). |
| Can we inspect the source code? | Yes. Enterprise and Industrial licences include source code access. Full codebase is delivered as part of the deployment package. |
| What happens to our data if we cancel? | Your deployment continues running — nothing is held in TechnoNet infrastructure. On cancellation, your licence key expires but the software continues to function on your hardware. You retain your documents, your database, and your indexed corpus. |
| Do you have a DPA? | Yes. A Data Processing Agreement template is available for Enterprise and Industrial clients. Contact us for the current version. |
| Can we do a pen test? | Yes. Enterprise clients may conduct penetration testing on their own deployed instance. We provide the full application source code for analysis. Coordinate with your account manager for timing. |