At the user endpoint, only a recent and standards-compliant browser is required. We guarantee fast and error-free operation using the current version of Google Chrome. Using other and/or outdated browsers, your mileage may vary.
The Lighthouse audits, being run on an emulated mid-range smartphone from 2016 with slow network connectivity, result in these spectacular scores of a typical Vision 42 application:
100% - Performance
100% - Progressive Web App
100% - Accessibility
100% - Best Practices
100% - SEO
For details, see the attached report. Note we make use of IPv6 and HTTP/2. An application's performance is regularly assessed. In case of diminishing performance, measures will be taken to speed up the application. Among possible improvements are database tuning and adding hardware.
Each application exists in at least three environments: development, quality assurance, and production. Our release management is based on promotion to the next environment, to limit human error. All versions of the source code, the database schemas, the documentation, and the configuration files are immutably stored in a blockchain, in case a rollback is required. All data in the quality assurance environment is copied daily from production.
Application bugs will be fixed free of charge.
Applications made by Vision 42 need infrastructure (servers, storage, and network) to run on. Vision 42 selects a reliable and accomplished IaaS provider (infrastructure-as-a-service) to host the applications. At the time of writing, this provider is TransIP.
Although our IaaS provider guarantees and delivers 99.99% uptime, the availability of a Vision 42 application will be slightly lower. Keeping potential database and release issues in mind, the effective availability will be at least 99.9%. Internet and customer network issues are out of our control, so the perceived availability at certain user endpoints might be lower. Free or captive-portal based Internet access, like in hotels, are often not stable enough and can cause sub-optimal operation. Intermediate cyber attacks of the distributed denial of service type, have been known to cause multi-hour Internet connection saturation. Our current operational status and detailed uptime statistics can be consulted on a public status page. In case of calamities, news will be published on our website or on Twitter.
The primary datacenter is state-of-the-art and is located in Amsterdam, The Netherlands. See the attached fact sheet for details. Our IaaS provider has a massive bandwidth available.
Vision 42 applications run on redundant physical servers. All servers have been over-dimensioned, so they have power to spare. Currently, the specifications of a single virtual server are:
CPU manufacturer: Intel
CPU cores: 4
CPU use, typical: < 15%
Memory: 8 GB
Disks: Intel solid-state drives (SSD), exclusively.
Although present, swap space is barely used.
Backup and Restore
Although our IaaS vendor provides backups every 4 hours, we choose not to place all of our eggs in one basket. That is why we make use of a independent BaaS provider (backup-as-a-service). At the time of writing, this provider is rsync.net.
Geographically, the secondary datacenter is located in Denver, USA . In contrast with Amsterdam , Denver is located one mile above sea-level. The geographical difference between both locations provide protection against complete data-loss caused by most natural disasters. Additionally, offsite backups are kept at two separate locations in Belgium . In case a big asteroid destroys The Netherlands, Colorado, and Belgium at once, we fear your data may be lost. At that moment, it will be the least of your problems...
All files, including the transaction log of the database, are copied to Denver with hourly intervals. Daily, a full backup of the database is performed, verified, and stored in both datacenters and the offsite locations. We keep at least seven daily snapshots (much more offsite), so we can restore up to a week ago. Our RPO (recover point objective) is 4 hours in a bad scenario, making use of the local, the remote, or the IaaS copy of the transaction log. In case of a complete database loss, we will be able to restore everything - the RPO is zero.
Using the transaction log, we can restore any point in time of the last week. In case of accidental deleting of data, we can remove the harmful commands from the log and restore up to the current situation, without any data loss.
RTO (recover time objective) depends on the SLA (service level agreement) of your support formula and will typically be next business day at most.
We offer a takeout service to leaving clients. A large ZIP-file will be provided, containing your data in easily readable CSV-files.
Our infrastructure and the applications are continuously being monitored. Alerts are sent to the engineering staff, who often solve the infrequent problems before a customer notices. Monitoring includes:
Table or index entries that are out of sequence.
Missing or surplus index entries.
UNIQUE, CHECK, NOT NULL, and FOREIGN KEY constraint errors.
Integrity of the freelist.
Sections of the database that are used more than once, or not at all.
Backup of application files and transaction logs.
Backup of databases.
Backup of system files.
Available disk and backup capacity.
Intrusion or privilege escalation attempts.
Intrusion Detection System (IDS).
Expiration of certificates.
Unauthorized certificates, using certificate transparency logs.
Domain Name System (DNS) configuration.
Web server errors.
The timely execution of scheduled tasks. Unmonitored tasks also raise an alert.
Even the monitoring itself.
All servers run BSD or Linux operating systems. We proactively patch and upgrade all system software. If an intrusion or a privilege escalation attempt is detected, automatic countermeasures will fire immediately.
Instead of passwords, salted cryptographic hashes are stored in the database. Weak passwords are not allowed. Brute-force attacks are crippled by delaying failed authorization attempts.
All network connections are encrypted, both the client/server as the server/server connections. SSL certificates are always being verified. A strong SSL certificate is used for our servers. We hold these security ratings (reports attached):
"A+" overall rating on Qualys SSL Labs.
"A+" final SSL grade on ImmuniWeb.
"A+" on securityheaders.io.
"A+" on moz://a Observatory.
"A+" final website grade on ImmuniWeb.
"10/10" score on Mail Tester.
Our email is protected from eavesdropping and impersonation by:
Opportunistic TLS (StartTLS),
Sender Policy Framework (SPF),
DomainKeys Identified Mail (DKIM), and
Domain-based Message Authentication, Reporting and Conformance (DMARC).
Every write operation can be traced to a specific user, an IP address, and a browser type. Relevant server logging is being kept for 10 weeks:
Web access, error, and TLS