Legal · Privacy
Privacy & Legal Disclosure
edwardca.dev is one person’s portfolio and writing, not a product with a growth funnel. There is nothing here that profiles you, and this page documents that claim precisely enough to be held to it.
Effective October 3, 2026 · applies to edwardca.dev and its subpages
The short version
- No analytics. No Google Analytics, no Vercel Analytics, no Plausible, no PostHog, no Sentry, no tracking pixel, no tag manager. None of it is installed, so none of it loads.
- No advertising, no profiling, no data sales. Your visit is never used to build a profile, score you, train a model, or feed an ad network. There is nothing to sell and it is not for sale.
- No accounts. There is no sign-up, no login, no newsletter and no comment system. You cannot create an identity here, so there is no identity to leak.
- Fonts are self-hosted. Typography is compiled into the site at build time, so reading a page sends no request to Google Fonts or any font CDN.
- Two functional cookies-equivalents, both yours. A language preference and a theme preference, stored to keep the site usable. Neither identifies you. Details in Cookies & browser storage.
- One unavoidable log. The hosting provider records standard server request data, including your IP address, to serve and secure the site. Details in What is actually processed.
Everything below is the long version, including the parts that are not flattering: the hosting logs, the embedded booking calendar, and the limits of what any site operator can honestly promise.
Who operates this site
edwardca.dev is a personal brand operated by an individual, not a company. It has no shareholders, no corporate entity behind it, and no commercial relationship with its readers.
| Responsible party | Edward Calderón, acting as a natural person |
| Capacity | Individual data controller for this website |
| Location | Colombia |
| Contact | hi@lstech.solutions |
| Security reports | edward@lealsystem.net — please do not use public issues for vulnerabilities |
| Purpose of the site | Portfolio, technical writing and professional contact. No e-commerce, no advertising, no data brokerage. |
Because the operator is based in Colombia, the primary applicable framework is Colombian data protection law — Ley 1581 de 2012 and its decrees (the Habeas Data regime). Where a visitor is in the European Union or the United Kingdom, the GDPR / UK GDPR standard is applied to that visitor’s data as well. Where the two differ, the stricter rule is used.
Non-tracking commitment
This is the operative part of this page. It is written as commitments rather than intentions, so that a future change would be a visible breach of a published promise rather than a quiet product decision.
So long as this document stands, this site will not:
- Install analytics or telemetry of any kind, first-party or third-party, including self-hosted analytics.
- Set advertising, attribution or cross-site cookies, or use any identifier that persists for the purpose of recognising you across visits, sessions or sites.
- Fingerprint your device — no canvas, font, audio or hardware probing used to derive a stable identifier.
- Embed tracking pixels, beacons or social widgets that report your visit back to a platform. Links to GitHub, LinkedIn and Instagram are plain links; they load nothing until you click them.
- Sell, rent, broker or trade personal data. Not to advertisers, not to data brokers, not to recruiters, not to anyone, for money or otherwise.
- Use visitor data to train machine learning models, including the author’s own.
- Build behavioural profiles or run automated decision-making that produces legal or similarly significant effects.
- Require consent for surveillance as a condition of reading. There is no cookie wall here, because there is nothing to consent to. If that ever changes, the banner will come with a working “reject all” that actually rejects all.
Do Not Track. The DNT and Global Privacy Control signals are respected by default — not because they are read, but because the behaviours they ask to disable were never implemented.
Verifiability. You do not have to take this on trust. Open your browser’s network panel and reload any page: the only requests are to this site’s own domain. The site is also open source, so the absence of tracking code is auditable in the repository rather than asserted on this page.
If this commitment is ever withdrawn, the change will be published here with a new effective date before it takes effect, and the previous version remains in the public git history of this page for comparison. Silent reversal is not available as an option.
What is actually processed
Honesty requires naming what cannot be switched off. Serving a web page means a server receives a request, and receiving a request means receiving an IP address. That is the floor, and this site sits on it.
| Data | Why it exists | Who holds it | Retention |
|---|---|---|---|
| Server request logs: IP address, timestamp, requested URL, referrer, user-agent | Technical necessity — delivering the response, plus abuse prevention, rate limiting and debugging | Vercel Inc., the hosting provider, as processor | Short-term, per Vercel's operational retention; not exported, aggregated or analysed by the operator |
| Language and theme preference | Keeping the site in the language and colour scheme you chose | Your browser | Until you clear site data |
| Offline cache of pages and assets | The site is a progressive web app and stays readable without a connection | Your browser's Cache Storage | Until you clear site data or uninstall the app |
| The content of an email you send | Answering you | The operator's mail provider | As long as the correspondence is relevant |
| A booking you make in the advisory calendar | Scheduling the meeting you asked for | The scheduling service — see below | Per that service's policy |
What is not collected at all: your name, your email, your location beyond what an IP implies, your device identifiers, your browsing history, your behaviour on the page (no scroll, click, hover or session recording), and any special-category data. No forms on this site request personal information.
Lawful basis. Server logs rest on legitimate interest in operating and securing the site (GDPR Art. 6(1)(f)); preference storage on technical necessity for a service you requested; email and bookings on your own initiative in contacting the operator. No processing here relies on consent, because no processing here is optional surveillance.
Children. This site is aimed at a professional audience and knowingly collects nothing from children. There is no mechanism here that could collect a child’s personal data, since there is no mechanism that collects anyone’s.
Cookies & browser storage
There are no analytics or advertising cookies. What follows is the complete list of what may be written to your browser, all of it functional, all of it local to your device, none of it readable by this site’s operator.
| Key | Mechanism | Purpose |
|---|---|---|
NEXT_LOCALE | Cookie | Remembers the language you selected so you are not sent back to English on the next page. Set by the internationalisation layer when you switch language; contains a language code and nothing else. |
theme | localStorage | Remembers light or dark mode. Contains a theme name. |
translations_* | localStorage | Caches already-downloaded interface translations so language switching is instant. Contains site copy, not user data. |
| Precache and runtime caches | Cache Storage (service worker) | Stores pages, images and assets for offline reading. Contains public site content only. |
How to remove all of it: clear site data for edwardca.dev in your browser settings, or use a private window. Nothing breaks permanently — the site simply forgets your language and theme. No consent banner is shown because, under both the GDPR’s ePrivacy carve-out and Colombian law, strictly functional storage you asked for does not require one.
Third parties & sub-processors
The complete set of outside parties involved in running this site:
| Party | Role | What reaches them |
|---|---|---|
| Vercel Inc. | Hosting and content delivery | Standard request data for every page you load, including your IP address. Unavoidable for any hosted site; Vercel acts as processor and is bound by its own data processing terms. |
| Advisory booking calendar | Scheduling, embedded in an iframe from calendar.lstech.solutions | Nothing, until you open the "Book a session" dialog. The iframe loads only on that action; if you then submit a booking, the name, email and time you type go to that scheduling service. Closing the dialog without booking sends no personal data. |
| Wikipedia | Source of reference text for the skills section | Nothing about you. This request is made server-side, so your IP address is never exposed to Wikipedia. |
| Email provider | Receiving mail you choose to send | Only what you write, and only if you write. |
Not used: advertising networks, data brokers, A/B testing or feature-flag vendors, session-recording tools, chat widgets, CAPTCHA services, comment platforms, CRM or marketing automation, and third-party font or script CDNs.
International transfers. Hosting is global by nature, so serving a page may involve infrastructure outside Colombia and outside your own country. Those transfers are limited to the technical request data described above and are covered by the providers’ standard contractual safeguards.
External links. Articles cite sources, and the footer links to GitHub, Instagram and email. Once you follow a link, you are on someone else’s site under someone else’s policy; this one no longer applies, and the operator has no control over what happens there.
Your rights
Under Ley 1581 de 2012 and, where applicable, the GDPR, you may ask the operator to confirm what personal data is held about you and to access, correct, update, delete, port or restrict it, to object to processing, and to withdraw any consent you have given. Colombian law additionally gives you the right to be informed of the use made of your data and to lodge a complaint before acting on a revocation request.
In practice the answer to most such requests will be short, and it is worth saying so plainly: no personal data about you is held by this site in a form that can be looked up. There is no database, no user table and no analytics store, so there is usually nothing to export, correct or erase. Requests about hosting-level logs are passed to the hosting provider, which holds them.
How to exercise them. Email hi@lstech.solutions with what you want to know or have changed. Expect a reply within 15 business days as Colombian law requires, and within one month for GDPR requests. No fee, and no account needed to ask.
If you are not satisfied, you may complain to the Superintendencia de Industria y Comercio in Colombia, or to your local supervisory authority if you are in the EU, the UK, or another jurisdiction with one.
Breach notification. Should a security incident ever affect personal data, affected people and the competent authority will be notified as required by the applicable law, and the incident will be described publicly once it is safe to do so.
Legal disclaimers
A personal brand, not an employer. edwardca.dev carries a person’s name and publishes that person’s own opinions. Everything here is written in a personal capacity. Nothing on this site represents the views, positions, endorsements or confidential information of any current or former employer, client, partner or organisation the author is associated with. No content should be read as an official statement by any of them.
No professional advice. Articles, documentation and code published here are technical commentary offered for information and discussion. They are not legal, financial, security, medical, regulatory or other professional advice, and they do not create a client, advisory, consulting or fiduciary relationship. Reaching out by email or booking a call does not by itself create one either; an engagement exists only under a separate written agreement. Decisions you make about your own systems remain yours, and you should get advice qualified for your situation.
No warranty. Content and code are provided “as is”, without warranties of any kind, express or implied, including fitness for a particular purpose, accuracy, or non-infringement. Technical writing ages: a benchmark, API, version or recommendation that was correct when published may be wrong by the time you read it, and articles are dated so you can judge that. To the fullest extent permitted by law, the operator is not liable for any loss or damage arising from reliance on this site, from its use, or from its unavailability. Nothing in this paragraph limits liability that cannot be limited by law.
Trademarks and client logos. Third-party names, logos and marks shown on this site — including those of past clients and projects — remain the property of their respective owners. They appear to describe work actually performed or technologies actually used. Their presence is not a claim of ownership, affiliation, partnership, sponsorship or endorsement in either direction.
Accuracy and corrections. Mistakes get fixed rather than buried. Articles carry a git fingerprint showing when they were last edited and by whom, so changes after publication are visible instead of silent. If something here is wrong, email it in and it will be corrected.
Availability. This is a personal site with no uptime guarantee or service commitment. It may change, move or disappear without notice.
Intellectual property
Source code for this site is published under the MIT License and may be reused on those terms — see the repository’s LICENSE file, which also preserves the copyright of the upstream template this project was built from.
Written content — articles, documentation and the images generated for them — remains the copyright of Edward Calderón. Quoting a passage with attribution and a link back is welcome and needs no permission. Republishing a piece in full, translating it for distribution, or using it as training data for a machine learning model does require written permission.
If you believe something here infringes your rights, email hi@lstech.solutions identifying the material and the basis of your claim, and it will be reviewed promptly.
Changes & contact
This page is versioned in the same git repository as the site, so its history is public and any amendment is diffable. Material changes — in particular any narrowing of the non-tracking commitment — will be published here with a new effective date before taking effect. Continuing to use the site after that date means the revised terms apply to your use of it.
Questions about privacy, this disclosure, or anything else on the site: hi@lstech.solutions.
Governing law is that of the Republic of Colombia, without prejudice to any mandatory consumer or data protection rights you hold in your own country of residence.
Last updated October 3, 2026. See also the Systems Design Meditations index and the infrastructure docs, which describe the publishing pipeline referenced above.