01Our stance
A compliance page is usually a wall of badges. This one is a statement of what is true. We name the regimes we are genuinely subject to, the controls that are genuinely in place, and — in section 08 — the things a careful buyer would want that we have not got.
If a certification is not listed here, we do not hold it. We would rather lose a deal than imply one.
You can verify everything on this page by asking. Nothing here is aspirational.
02What applies to us
We are established in Spain and process personal data within the European Union, so the following apply directly.
| Regime | Why it applies | Status |
|---|---|---|
| EU GDPR (Reg. 2016/679) |
We are established in the EU and process personal data of people in the EU | Subject to it. Compliance programme in progress — see §04 and §08 |
| LOPDGDD (Ley Orgánica 3/2018) |
Spain's national implementation of the GDPR | Subject to it |
| LSSI-CE (Ley 34/2002) |
Spanish law on information-society services. Art. 22.2 governs cookies; Art. 10 requires us to identify ourselves on the site | Cookies compliant under the strictly-necessary exemption — see the cookie policy |
| ePrivacy Directive (2002/58/EC) |
Governs storage on a user's device, EU-wide | Compliant. Two strictly-necessary cookies, disclosed, no consent required |
| UK GDPR & DPA 2018 | Applies where we offer the service to people in the UK | Same controls; UK users have equivalent rights and may complain to the ICO |
| CCPA / CPRA (California) |
May apply to Californian residents, though we are almost certainly under every revenue and volume threshold | We do not sell or share personal information, and never have. Californian residents may exercise their rights at the same address as everyone else |
| EU AI Act (Reg. 2024/1689) |
We deploy a general-purpose AI system in a product | Our use is minimal-risk. The transparency obligation — telling you that you are interacting with an AI and where your input goes — is met on this site and in the product |
Our lead supervisory authority is the Agencia Española de Protección de Datos (aepd.es).
03What does not apply — and what we do not claim
| Framework | Position |
|---|---|
| PCI DSS | Not applicable. We take no payments and never touch a card number. The service is free |
| HIPAA | Not applicable and not supported. We are not a covered entity or business associate and will not sign a BAA. Do not put protected health information into hfs2s |
| SOC 2 | Not certified. No Type I or Type II report exists. There has been no third-party audit |
| ISO/IEC 27001 | Not certified. No ISMS has been formally established or audited |
| ENS (Esquema Nacional de Seguridad) | Not applicable. We do not provide services to the Spanish public sector |
| NIS2 | Not in scope. We are below the size thresholds and are not in a designated essential or important sector |
| FedRAMP | Not applicable. We are not a US federal cloud provider |
This section exists so nobody has to email and ask. The answer to "are you SOC 2?" is no.
If your organisation requires any of the certifications above from its suppliers, hfs2s does not currently meet that bar. That is a straight answer rather than a soft one, and we would rather give it now than at the end of a procurement process.
04GDPR in practice
Roles
We are the controller for your account, your workspace and the logs. Where you build an app that collects personal data from its own users, you are the controller of that data and we are your processor, acting on your instructions to host it.
Lawful bases
Named per purpose in the privacy policy: contract for running the service, legitimate interests for security and the audit log, legal obligation for accountability records.
Data subject rights
One person answers these, usually the same day.
Access, rectification, erasure, restriction, portability and objection are all honoured at [email protected], within one month, at no charge. Portability is unusually easy here: your app is a git repository and we hand you the whole thing, history included.
Data protection by design — Art. 25
- The signup rate-limiter holds your IP address only for as long as the check takes and never stores it, because a public form does not need a permanent record of who loaded it.
- The activity log records acts, not contents — never a token, never a sign-in URL, never a message body.
- The mail log stores subject lines and delivery status but never bodies, because a body can contain a live sign-in link.
- Our access gate is default-deny: a path nobody has explicitly made public is private.
Data Protection Officer
Not required. We do not carry out large-scale systematic monitoring, and we do not process special category data on a large scale, so the Art. 37 triggers are not met. Data protection questions go to [email protected].
Records of processing — Art. 30
We are under 250 employees, but the processing is regular, so we do not rely on the small-organisation exemption. The privacy policy is a public statement of substantially the same content.
Automated decision-making
None. Nothing here produces a legal or similarly significant effect about you automatically. Account approval is a human decision made by a person.
05Where your data lives
At rest: Spain. Your account record, your workspace, your app's code and history, your uploaded files, your chat transcript and our logs are all held within the European Union, and no third party beyond those in §06 holds a copy.
Your data stays in the EU. It leaves only when a model has to read it.
In transit: outside the EEA, when a model has to think. Chat messages, briefs, document text and code are sent to AI providers abroad, because that is where the model runs. This is the single most important thing on this page for anyone assessing us, which is why it is also stated plainly in the privacy policy rather than only here.
Transfer mechanisms, and the honest state of that paperwork, are in privacy §07 and in §08 below.
06Subprocessors
The complete list. There is no other.
| Provider | Purpose | Data | Location |
|---|---|---|---|
| MiniMax | The model that builds your app; onboarding questions, plans and image generation | Chat, brief, document text, app code | Outside the EEA |
| Anthropic | The model behind our in-house engineering assistant, used to build first versions | Brief content and code | United States |
| Optional OAuth sign-in | Email address, name | United States | |
| Resend | Transactional email delivery | Email address, message content | United States |
| Cloudflare | DNS, TLS and network delivery | Traffic and metadata in transit, IP addresses | Global edge |
We will publish changes to this list here. If you have an account and we add a subprocessor that receives your content, we will email you.
07Security measures
The technical and organisational measures we actually operate, in GDPR Art. 32 terms. Every item is implemented today.
Identity and access
- Sessions are carried in a cryptographically sealed cookie that cannot be forged or altered, marked
HttpOnlyso no script can read it,Secureso it never leaves over plain HTTP, andSameSite=Laxagainst cross-site submission. - Email sign-in links are single-use and expire in 15 minutes.
- The Google sign-in is protected against cross-site request forgery by a one-time state value with a 10-minute life.
- The authorisation gate is default-deny: anything not explicitly published requires a valid session. Being signed in is not sufficient — an account must also be approved.
- Administrative surfaces re-check identity and role independently on every request, rather than trusting that an earlier check ran.
Isolation between customers
- Every workspace runs in its own isolated environment, with its own storage and its own resource limits.
- Every route that names a workspace resolves ownership first, and returns an identical "not found" for "not yours" and "does not exist" — so the API cannot be used to enumerate who owns what.
- Our own credentials are never made available inside a customer's workspace. A workspace receives only what it needs to run, and nothing else.
- Our session cookie is stripped from every request before it reaches a customer's app, and an app is blocked from setting a cookie in our namespace on the way back out.
Data handling
- TLS in transit for every request. Our database is not reachable from the public internet, and not from any customer's workspace.
- Secrets never appear in code and are masked in logs. The audit log is append-only and holds no tokens or credentials.
- Data is written so that an interrupted write cannot leave it corrupted, and a failed read is never treated as an empty one — the failure mode that would otherwise let the system overwrite data it could not read.
- External input is validated at the boundary with a schema validator; request bodies are never trusted or blind-cast.
- The public signup form is rate-limited per IP address.
Change management
- An automated test suite and a full type check must pass before anything is deployed.
- Dependencies are kept deliberately minimal — new ones require justification — which keeps the supply-chain surface small.
- No third-party script runs on any public page.
08What we have not done
Every item below is a real limitation of hfs2s today. We publish them because a compliance page that lists only strengths is not information.
- No high-availability guarantee. We do not operate redundant infrastructure. If the service goes down, it stays down until we bring it back.
- No customer-restorable backups. Version history inside your workspace is real and works, but there is no off-site backup we can restore from if your workspace is lost. Keep your own copy of anything that matters.
- Subprocessor paperwork is incomplete. Signed data processing agreements and Standard Contractual Clauses with the providers in §06 are in progress and not finished.
- No third-party audit. No SOC 2, no ISO 27001, no penetration test by an external firm.
- Account deletion is manual. Erasure is complete and irreversible when done, but it is performed by us on request rather than by a button you press.
- No per-customer encryption at rest. Your data is not encrypted with a key unique to you.
- No formal registered entity is published. hfs2s currently trades under a personal name; a registered company name and address will be published here when one exists.
- Uptime is not monitored by a third party and there is no public status page or SLA.
If one of these is a blocker for you, say so — it moves up the list.
09If something goes wrong
Breach notification. If personal data is breached in a way that risks people's rights, we notify the AEPD within 72 hours of becoming aware, as GDPR Art. 33 requires, and tell affected people directly without undue delay where Art. 34 requires it. If we are a processor for data you control, we tell you without undue delay so you can meet your own deadline.
Reporting a vulnerability. Email [email protected] with enough detail to reproduce it. We aim to acknowledge within two working days. We will not pursue legal action over a vulnerability found in good faith, confined to your own workspace, and not exploited against other customers or our infrastructure.
There is no paid bug bounty. We will credit you if you would like to be credited.
10For your due diligence
If you are assessing hfs2s for an organisation, this page plus the privacy policy is designed to answer most of a standard security questionnaire. For anything else — a DPA to sign, a specific control, an architecture question — write to [email protected] and you will get a direct answer from the person who built it, including "no" where the answer is no.
Small enough that the person answering your questionnaire wrote the code.
We update this page whenever the position changes. The version and effective date at the top say which text you are reading.