Last updated: September 5, 2026
This page exists so a security or procurement reviewer can answer their questions without waiting on us. It describes what we actually run today, including the parts that are not finished. Where a control is absent, it says so rather than leaving the gap for you to find during an audit.
Company status. ArcNautical is operated by a single founder. We are not SOC 2 or ISO 27001 certified, we have not commissioned a third-party penetration test, and we do not have a security team. Those are real gaps and we will not dress them up. What we offer instead is specificity: every control below is verifiable, and the Data Processing Addendum puts the material ones under contract.
All primary processing happens on Microsoft Azure in the Central India region. The application, the PostgreSQL database, Redis, and the storage that holds generated reports are all in that region. A second Azure virtual machine in the same tenancy runs our self-hosted error tracking and outbound mail relay.
Static assets and DNS are fronted by Cloudflare, whose edge terminates TLS and therefore sees request metadata and in-transit content at the point of presence nearest your user.
If you are an EU or UK controller, read this. India has no adequacy decision under GDPR Article 45 or the UK equivalent. Sending us personal data is a restricted transfer to a third country. We contract on the European Commission Standard Contractual Clauses (Implementing Decision (EU) 2021/914), Module Two, controller to processor, with the UK International Data Transfer Addendum where the UK GDPR applies. Our transfer impact assessment is summarised in the DPA and available in full on request.
We are also subject to the Indian Digital Personal Data Protection Act, 2023.
These are every third party that can reach customer data, what they do, and where they sit. We give 30 days notice before adding or replacing one, and you may object; if we cannot resolve your objection you may terminate the affected service without penalty.
| Sub-processor | Purpose | Data reached | Location |
|---|---|---|---|
| Microsoft Corporation (Azure) |
Application hosting, PostgreSQL, Redis, object storage, error-tracking VM, mail relay | All platform data | India (Central India) |
| Cloudflare, Inc. | DNS, CDN, TLS termination, WAF, one edge worker for navigational-warning retrieval | Request metadata, IP address, content in transit | Global edge |
| PostHog, Inc. | Product analytics, error diagnostics, session replay with all text inputs masked | Usage events; account email where an account exists | United States |
| GitHub, Inc. (Microsoft) |
Off-site database backup storage | Full database backup, AES-256 encrypted under a key we hold — GitHub cannot read it | United States |
| Zoho Corporation | Transactional and account email delivery, support mailboxes | Recipient address and message content | India |
Not sub-processors. Error tracking (Sentry) and operational alerting (ntfy) are self-hosted on our own Azure infrastructure rather than bought as a service, so no third party receives that telemetry. We say so explicitly because both are commonly assumed to be vendor SaaS, and a reviewer comparing our list against a typical stack would otherwise flag the omission as an oversight.
No AI sub-processor touches customer data. The screening and scoring engines are deterministic. No customer request, vessel list, or screening result is sent to a large language model, and nothing you submit is used to train any model, ours or anyone else's.
arc_test_ and arc_live_ environments with independent quota, idempotency and webhook namespaces.GET /api/v1/access-log: method, path, status, error code, duration, source address, user agent, which key was used, and the request id you were given at the time. Retained 365 days.X-Forwarded-For header, so the log cannot be made to record an origin an attacker chose.POST /core/list-account-audit. A removed member stays named in it — the record has to outlive the person it describes.admin, manager and analyst. Managing the team and creating or revoking API keys require admin; an administrator cannot change their own role or remove themselves.If any of these is a hard requirement for your organisation, tell us which one. We would rather scope it into a contract than have you discover its absence in week three.
Retention is enforced by an automated daily process, not by manual hygiene.
| Data | Retained | Why |
|---|---|---|
| Screening records and their evidence | 10 years | OFAC extended its recordkeeping requirement from five to ten years effective 12 March 2025, and sanctions screening records are named in scope. Your audit record has to outlive your subscription. |
| Account data | Life of the account | Deleted on request. |
| Voyage assessments and batches | 30 days | An operational cache, not a compliance record. |
| Vessel position history | 90 days | |
| Dark-activity events | 1 year | |
| Session tokens | 7 days | |
| Idempotency keys | 30 days |
On termination we delete or return customer personal data within 30 days, except where retention is required by law. Screening evidence is the deliberate exception described above: we will hand you an export of it rather than destroy a record you may be legally obliged to hold.
We target 99.5% monthly availability of the API, excluding maintenance announced at least 48 hours in advance. On a paid agreement this becomes a contractual commitment carrying service credits; see the Service Level Agreement.
Availability is independently observable at status.arcnautical.com. It deliberately does not run on the infrastructure it monitors — a status page hosted on the machine it watches reports that everything is fine right up until it stops answering at all — so it sits on Cloudflare’s edge with no dependency on our API, our database or our host. It probes every minute, publishes ninety days of history, prints the number of checks behind every percentage, and rounds percentages down. It is the measurement of record for the SLA.
It cannot see everything, and says so on the page: it runs on Cloudflare and measures through Cloudflare, so a Cloudflare-wide outage would take the page down alongside the service.
The page publishes an incident log written by the prober itself — opened, updated and closed automatically from the same checks that produce the percentages, with no authoring page and no way to edit or remove an entry afterwards. And rather than checking it, you can be told: subscribe any HTTPS endpoint on the page and you will get one message when an incident opens, one if its cause changes, and one when it closes. A Slack or Microsoft Teams incoming webhook works unchanged; messages are signed, and your endpoint has to accept a test delivery before we store it. RSS and Atom feeds are at /feed.xml and /feed.atom, and /healthz answers 503 during an outage if you would rather alert on it. Those notifications are sent from the same Cloudflare Worker, so they do not depend on the systems they are reporting on. Incidents affecting your integration are still emailed to your technical contact.
API contract stability is a separate promise, and one we have kept in writing since launch: breaking changes ship as a new major path with 90 days notice, never in place. The full policy and changelog are at API stability.
ArcNautical is run by one person. Pretending otherwise would be the least defensible thing on this page, so here is the position and what offsets it.
We process customer personal data solely as a processor on your documented instructions. We do not sell it, we do not use it for advertising, and we do not use it to train models. Assistance with data-subject requests, and with your own data protection impact assessment where our processing is in scope, is committed in the DPA.
Audit rights: we will complete a reasonable security questionnaire once per year at no charge and provide evidence for the controls described here. We cannot host an on-site audit.
You do not have to ask us for your own access trail: GET /api/v1/access-log returns every authenticated call made with your keys, so the answer to "who used our credentials, against what, and when" is yours to pull rather than ours to promise.
Related documents: Data Processing Addendum · Service Level Agreement · Privacy Policy · Terms of Service · Vulnerability Disclosure