Public profileJSON
{
"schemaVersion": "1.0",
"name": "Andorre Fiscal",
"slug": "andorre-fiscal",
"website": "https://andorrefiscal.fr/",
"category": "finance",
"description": "Andorre Fiscal is a sourced guide to moving to Andorra, in French, English and Catalan: Andorran income tax, corporate tax, IGI, CASS, residency permits, company formation and daily life. Its llms.txt lists every page with a short description and key figures; llms-full.txt holds the full text, and each page has a Markdown version.",
"capabilities": [
"llmsTxt documentation"
],
"aiResources": {
"llmsTxt": {
"type": "llmsTxt",
"url": "https://andorrefiscal.fr/llms.txt",
"status": "verified",
"available": true,
"httpStatus": 304,
"checkedAt": "2026-11-10T22:28:33.486Z",
"lastSuccessfulAt": "2026-11-10T22:28:33.486Z",
"contentType": "text/plain; charset=utf-8",
"contentSize": 48813,
"estimatedTokens": 11771,
"tokenMethod": "UTF-16 characters / 4 (approximation)",
"contentHash": "898dcba4e0f91a13d0a050910ec520277b3edf806d1fc6109d51b81c8e9f994a",
"internalLinks": 88,
"externalLinks": 0,
"document": {
"h1Count": 1,
"firstBlockIsH1": true,
"title": "Andorre Fiscal",
"usefulTitle": true,
"headingCount": 12,
"uniqueHeadingCount": 12,
"hasSections": true,
"orderedHeadings": true,
"sectionWithContent": true,
"fileListLinks": 88,
"summaryPresent": true,
"contextPresent": true,
"validLinks": 88,
"invalidLinks": 0,
"duplicateLinks": 0,
"descriptiveLinks": 88,
"annotatedLinks": 88
},
"linkHealth": {
"eligibleCount": 88,
"selectedCount": 5,
"sampledCount": 5,
"working": 0,
"broken": 0,
"unknown": 5,
"checkedAt": "2026-11-10T22:28:33.849Z",
"sourceHash": "898dcba4e0f91a13d0a050910ec520277b3edf806d1fc6109d51b81c8e9f994a",
"method": "deterministic sample, at most 5 URLs, at most 2 concurrent hosts, 15s budget",
"results": [
{
"url": "https://andorrefiscal.fr/glossaire",
"status": "unknown",
"httpStatus": null,
"reason": "oversized",
"attempted": true,
"checkedAt": "2026-11-10T22:28:33.849Z"
},
{
"url": "https://andorrefiscal.fr/profils/salarie",
"status": "unknown",
"httpStatus": null,
"reason": "oversized",
"attempted": true,
"checkedAt": "2026-11-10T22:28:33.849Z"
},
{
"url": "https://andorrefiscal.fr/vivre-en-andorre/emploi-salaires",
"status": "unknown",
"httpStatus": null,
"reason": "oversized",
"attempted": true,
"checkedAt": "2026-11-10T22:28:33.849Z"
},
{
"url": "https://andorrefiscal.fr/transparence",
"status": "unknown",
"httpStatus": null,
"reason": "oversized",
"attempted": true,
"checkedAt": "2026-11-10T22:28:33.849Z"
},
{
"url": "https://andorrefiscal.fr/residence",
"status": "unknown",
"httpStatus": null,
"reason": "oversized",
"attempted": true,
"checkedAt": "2026-11-10T22:28:33.849Z"
}
]
},
"headings": [
"Andorre Fiscal",
"Accueil",
"Fiscalité : les impôts andorrans et le départ de France",
"Résidence : statuts, conditions et démarches",
"Entreprendre : société, indépendant, activité en ligne",
"Vivre en Andorre : logement, santé, écoles, coût de la vie",
"Profils : la situation de chacun, du salarié au retraité",
"Outils de calcul",
"Actualités : textes et décisions récents",
"Ressources : glossaire, sources officielles, méthode",
"Repères chiffrés (en-tête des pages, avec leur source)",
"Optional"
],
"warnings": [],
"summary": "Documentation sections: Andorre Fiscal; Accueil; Fiscalité : les impôts andorrans et le départ de France; Résidence : statuts, conditions et démarches; Entreprendre : société, indépendant, activité en ligne; Vivre en Andorre : logement, santé, écoles, coût de la vie.",
"summarySourceHash": "898dcba4e0f91a13d0a050910ec520277b3edf806d1fc6109d51b81c8e9f994a",
"processingVersion": "2.0",
"method": "markdown-ast-analysis"
},
"llmsFullTxt": {
"type": "llmsFullTxt",
"url": "https://andorrefiscal.fr/llms-full.txt",
"status": "unavailable",
"available": false,
"httpStatus": null,
"checkedAt": "2026-11-10T22:28:33.643Z",
"lastSuccessfulAt": null,
"warnings": [
"Latest retrieval did not establish resource availability. Previous successful evidence, if any, is retained with reduced confidence."
],
"processingVersion": "2.0",
"method": "static-content-analysis",
"failureHelp": {
"code": "oversized",
"reason": "The response exceeded the 1 MiB verification limit.",
"fix": "Publish a concise llms.txt index with links to separate documentation pages. Reduce this resource below 1 MiB before requesting a recheck."
}
},
"webmcp": null
},
"readiness": {
"score": 100,
"version": "2.0",
"confidence": "medium",
"components": [
{
"name": "availability",
"weight": 25,
"assessedWeight": 25,
"points": 25,
"rules": [
{
"id": "current_access",
"label": "Current usable primary file",
"weight": 25,
"observation": "Current llms.txt retrieval succeeded (HTTP 304); usable text verified.",
"points": 25
}
],
"explanation": "Current usable primary file: 25/25."
},
{
"name": "structure",
"weight": 25,
"assessedWeight": 25,
"points": 25,
"rules": [
{
"id": "title",
"label": "One project H1 at the beginning",
"weight": 10,
"observation": "1 H1 heading(s); starts with H1: yes.",
"points": 10
},
{
"id": "sections",
"label": "Coherent content sections",
"weight": 5,
"observation": "H2 with content: yes; no heading-level jumps: yes.",
"points": 5
},
{
"id": "file_lists",
"label": "Documentation links organized in lists",
"weight": 5,
"observation": "88 valid link occurrence(s) inside Markdown lists.",
"points": 5
},
{
"id": "heading_uniqueness",
"label": "Non-repeated headings",
"weight": 5,
"observation": "12 unique heading(s) out of 12; code examples are excluded.",
"points": 5
}
],
"explanation": "One project H1 at the beginning: 10/10. Coherent content sections: 5/5. Documentation links organized in lists: 5/5. Non-repeated headings: 5/5."
},
{
"name": "links",
"weight": 25,
"assessedWeight": 15,
"points": 15,
"rules": [
{
"id": "link_syntax",
"label": "Resolvable HTTP(S) link syntax",
"weight": 5,
"observation": "88 valid URL occurrence(s), 0 malformed, unsupported or unresolved.",
"points": 5
},
{
"id": "link_uniqueness",
"label": "Unique documentation destinations",
"weight": 5,
"observation": "88 unique destination(s) from 88 valid occurrence(s).",
"points": 5
},
{
"id": "link_labels",
"label": "Descriptive link labels",
"weight": 2.5,
"observation": "88 of 88 unique links have non-placeholder labels. This is a text heuristic, not a semantic guarantee.",
"points": 2.5
},
{
"id": "link_notes",
"label": "Context beside file links",
"weight": 2.5,
"observation": "88 of 88 unique links have notes beside a Markdown list link.",
"points": 2.5
},
{
"id": "link_health",
"label": "Sampled destination accessibility",
"weight": 10,
"observation": "5 of 88 destinations sampled: 0 working, 0 confirmed 404/410, 5 unknown. No decisive result: these 10 points are excluded from the assessed maximum.",
"points": null
}
],
"explanation": "Resolvable HTTP(S) link syntax: 5/5. Unique documentation destinations: 5/5. Descriptive link labels: 2.5/2.5. Context beside file links: 2.5/2.5. Sampled destination accessibility: not measured."
},
{
"name": "confidence",
"weight": 15,
"assessedWeight": 15,
"points": 15,
"rules": [
{
"id": "verification_age",
"label": "Age of last successful verification",
"weight": 10,
"observation": "Last success: 2026-11-10T22:28:33.486Z. Full points through day 8 (7-day schedule plus 1-day grace), 60% through day 30, 20% thereafter or for an unknown date.",
"points": 10
},
{
"id": "latest_success",
"label": "Latest primary check succeeded",
"weight": 5,
"observation": "Latest primary verification succeeded.",
"points": 5
}
],
"explanation": "Age of last successful verification: 10/10. Latest primary check succeeded: 5/5."
},
{
"name": "metadata",
"weight": 10,
"assessedWeight": 10,
"points": 10,
"rules": [
{
"id": "summary",
"label": "Useful summary blockquote",
"weight": 5,
"observation": "A blockquote before the first H2 with at least 20 non-whitespace characters and no placeholder-only text.",
"points": 5
},
{
"id": "context",
"label": "Useful introductory context",
"weight": 5,
"observation": "An introductory paragraph before the first H2 with at least 20 non-whitespace characters and no placeholder-only text. Listing form fields do not earn these points.",
"points": 5
}
],
"explanation": "Useful summary blockquote: 5/5. Useful introductory context: 5/5."
}
],
"earnedPoints": 90,
"assessedWeight": 90,
"availableWeight": 100,
"provisional": true,
"calculatedAt": "2026-11-10T22:28:34.868Z",
"lastVerifiedAt": "2026-11-10T22:28:33.486Z",
"evidence": {
"sourceUrl": "https://andorrefiscal.fr/llms.txt",
"contentHash": "898dcba4e0f91a13d0a050910ec520277b3edf806d1fc6109d51b81c8e9f994a",
"processingVersion": "2.0",
"retrievedAt": "2026-11-10T22:28:33.486Z"
},
"linkSampling": {
"eligibleCount": 88,
"selectedCount": 5,
"sampledCount": 5,
"working": 0,
"broken": 0,
"unknown": 5,
"checkedAt": "2026-11-10T22:28:33.849Z",
"sourceHash": "898dcba4e0f91a13d0a050910ec520277b3edf806d1fc6109d51b81c8e9f994a",
"method": "deterministic sample, at most 5 URLs, at most 2 concurrent hosts, 15s budget",
"results": [
{
"url": "https://andorrefiscal.fr/glossaire",
"status": "unknown",
"httpStatus": null,
"reason": "oversized",
"attempted": true,
"checkedAt": "2026-11-10T22:28:33.849Z"
},
{
"url": "https://andorrefiscal.fr/profils/salarie",
"status": "unknown",
"httpStatus": null,
"reason": "oversized",
"attempted": true,
"checkedAt": "2026-11-10T22:28:33.849Z"
},
{
"url": "https://andorrefiscal.fr/vivre-en-andorre/emploi-salaires",
"status": "unknown",
"httpStatus": null,
"reason": "oversized",
"attempted": true,
"checkedAt": "2026-11-10T22:28:33.849Z"
},
{
"url": "https://andorrefiscal.fr/transparence",
"status": "unknown",
"httpStatus": null,
"reason": "oversized",
"attempted": true,
"checkedAt": "2026-11-10T22:28:33.849Z"
},
{
"url": "https://andorrefiscal.fr/residence",
"status": "unknown",
"httpStatus": null,
"reason": "oversized",
"attempted": true,
"checkedAt": "2026-11-10T22:28:33.849Z"
}
]
},
"warnings": [
"This measures observable documentation, not model rankings or citation probability.",
"H1 is the only required section in the llms.txt proposal. Other checks are LLMSList quality preferences; missing optional sections do not make usable text invalid.",
"Provisional score: 10 unmeasured points excluded. Unknown destinations are not classified as broken.",
"Destination accessibility covers a sample of 5 out of 88 unique links, not the entire website."
]
},
"updatedAt": "2026-11-10T22:28:34.868Z"
}