{
  "product": "Givkraft",
  "provider": "Hello Gbg AB",
  "url": "https://givkraft.se",
  "description": "Givkraft är ett volontärsystem för kommuner: publicera uppdrag, ta emot ansökningar och följ engagemang, med personuppgifter som stannar i EU.",
  "audience": "Swedish municipalities and the associations they work with",
  "data_residency": "EU (Hetzner, Germany)",
  "accessibility_target": "WCAG 2.2 AAA",
  "api": {
    "base": "/api/v1/",
    "openapi": "https://api.givkraft.se/api/schema/",
    "docs": "https://api.givkraft.se/api/docs/"
  },
  "contact": "adnan@hellogbg.se",
  "updated_at": "2026-11-12",
  "features": [
    {
      "id": "uppdrag",
      "name_sv": "Uppdrag",
      "name_en": "Volunteer opportunities",
      "summary_sv": "Givkraft har uppdragshantering: kommunen och föreningar publicerar volontäruppdrag med krav, tider och antal platser, och invånare hittar dem utan att logga in.",
      "summary_en": "Givkraft lets the municipality and associations publish volunteer opportunities with requirements, dates and number of places, which residents can browse without logging in.",
      "status": "available",
      "audience": [
        "Frivilligsamordnare",
        "Föreningar"
      ],
      "url": "https://givkraft.se/funktioner/uppdrag",
      "api_endpoints": [
        "/api/v1/opportunities/",
        "/api/v1/categories/",
        "/api/v1/opportunity-templates/"
      ],
      "updated_at": "2026-11-12"
    },
    {
      "id": "granskning-och-godkannande",
      "name_sv": "Granskning och godkännande",
      "name_en": "Review and approval",
      "summary_sv": "Givkraft har granskning av uppdrag: uppdrag från föreningar godkänns av kommunen innan de publiceras, och föreningar som kommunen litar på kan publicera direkt.",
      "summary_en": "In Givkraft, opportunities from associations are reviewed and approved by the municipality before publication; trusted associations can publish directly.",
      "status": "available",
      "audience": [
        "Frivilligsamordnare",
        "Kommunmoderatorer"
      ],
      "url": "https://givkraft.se/funktioner/granskning-och-godkannande",
      "api_endpoints": [
        "/api/v1/opportunities/pending/",
        "/api/v1/opportunities/{id}/approve/",
        "/api/v1/opportunities/{id}/reject/"
      ],
      "updated_at": "2026-11-12"
    },
    {
      "id": "ansokningar",
      "name_sv": "Ansökningar",
      "name_en": "Applications",
      "summary_sv": "Givkraft har ansökningshantering: volontärer ansöker direkt till ett uppdrag, handläggare godkänner eller avslår, och den sökande får besked i tjänsten och via e-post.",
      "summary_en": "In Givkraft, volunteers apply directly to an opportunity, staff accept or decline, and the applicant is notified in the app and by email.",
      "status": "available",
      "audience": [
        "Föreningar",
        "Frivilligsamordnare",
        "Volontärer"
      ],
      "url": "https://givkraft.se/funktioner/ansokningar",
      "api_endpoints": [
        "/api/v1/applications/",
        "/api/v1/applications/{id}/review/"
      ],
      "updated_at": "2026-11-12"
    },
    {
      "id": "engagemang",
      "name_sv": "Engagemang",
      "name_en": "Assignments",
      "summary_sv": "Givkraft har uppföljning av engagemang: en godkänd ansökan blir ett engagemang som följs tills det är slutfört eller avbrutet, med automatisk påminnelse före start.",
      "summary_en": "In Givkraft, an accepted application becomes an assignment that is tracked until completed or cancelled, with an automatic reminder before it starts.",
      "status": "available",
      "audience": [
        "Föreningar",
        "Frivilligsamordnare"
      ],
      "url": "https://givkraft.se/funktioner/engagemang",
      "api_endpoints": [
        "/api/v1/assignments/",
        "/api/v1/assignments/{id}/complete/",
        "/api/v1/assignments/{id}/cancel/"
      ],
      "updated_at": "2026-11-12"
    },
    {
      "id": "foreningar-och-organisationer",
      "name_sv": "Föreningar och organisationer",
      "name_en": "Associations and organisations",
      "summary_sv": "Givkraft har ett föreningsregister: kommunen lägger upp föreningar, godkänner eller avvisar dem, och bestämmer vilka som får publicera uppdrag.",
      "summary_en": "Givkraft keeps a register of associations: the municipality adds them, approves or rejects them, and decides who may publish opportunities.",
      "status": "available",
      "audience": [
        "Frivilligsamordnare",
        "Kommunadministratörer"
      ],
      "url": "https://givkraft.se/funktioner/foreningar-och-organisationer",
      "api_endpoints": [
        "/api/v1/organizations/",
        "/api/v1/organizations/{id}/verify/",
        "/api/v1/organizations/{id}/reject/",
        "/api/v1/organizations/verification_stats/"
      ],
      "updated_at": "2026-11-12"
    },
    {
      "id": "volontarregister",
      "name_sv": "Volontärregister",
      "name_en": "Volunteer register",
      "summary_sv": "Givkraft har ett volontärregister: kommunen ser alla sina volontärer med färdigheter och tillgänglighet, och personnummer kontrolleras, krypteras och visas maskerat.",
      "summary_en": "Givkraft keeps a volunteer register with skills and availability; personal identity numbers are validated, encrypted and shown masked.",
      "status": "available",
      "audience": [
        "Frivilligsamordnare"
      ],
      "url": "https://givkraft.se/funktioner/volontarregister",
      "api_endpoints": [
        "/api/v1/users/",
        "/api/v1/users/export_volunteers/"
      ],
      "updated_at": "2026-11-12"
    },
    {
      "id": "aviseringar",
      "name_sv": "Aviseringar",
      "name_en": "Notifications",
      "summary_sv": "Givkraft har aviseringar i tjänsten och via e-post, till exempel när en ansökan kommer in, när den besvaras och innan ett engagemang börjar.",
      "summary_en": "Givkraft sends in-app and email notifications, for example when an application arrives, when it is answered and before an assignment starts.",
      "status": "available",
      "audience": [
        "Volontärer",
        "Föreningar",
        "Frivilligsamordnare"
      ],
      "url": "https://givkraft.se/funktioner/aviseringar",
      "api_endpoints": [
        "/api/v1/notifications/"
      ],
      "updated_at": "2026-11-12"
    },
    {
      "id": "roller-och-behorigheter",
      "name_sv": "Roller och behörigheter",
      "name_en": "Roles and permissions",
      "summary_sv": "Givkraft har rollbaserad behörighet: kommunadministratörer, moderatorer, föreningsadministratörer, samordnare och volontärer ser och gör bara det deras roll tillåter.",
      "summary_en": "Givkraft uses role-based access: municipality administrators, moderators, association administrators, coordinators and volunteers only see and do what their role allows.",
      "status": "available",
      "audience": [
        "Kommunadministratörer",
        "IT och informationssäkerhet"
      ],
      "url": "https://givkraft.se/funktioner/roller-och-behorigheter",
      "api_endpoints": [
        "/api/v1/auth/users/me/"
      ],
      "updated_at": "2026-11-12"
    },
    {
      "id": "dataskydd",
      "name_sv": "Dataskydd i systemet",
      "name_en": "Data protection built in",
      "summary_sv": "Givkraft har inbyggt dataskydd: användare laddar ner och raderar sina egna uppgifter, känsliga fält krypteras, känsliga åtgärder loggas och gamla uppgifter gallras automatiskt.",
      "summary_en": "Givkraft has data protection built in: self-service export and deletion, encrypted sensitive fields, an audit log, and automatic deletion after fixed retention periods.",
      "status": "available",
      "audience": [
        "Dataskyddsombud",
        "IT och informationssäkerhet"
      ],
      "url": "https://givkraft.se/funktioner/dataskydd",
      "api_endpoints": [
        "/api/v1/users/me/export/",
        "/api/v1/users/me/delete/"
      ],
      "updated_at": "2026-11-12"
    },
    {
      "id": "kommunens-egen-instans",
      "name_sv": "Kommunens egen instans",
      "name_en": "Separate instance per municipality",
      "summary_sv": "I Givkraft har varje kommun en egen avgränsad instans på en egen adress, och uppgifter från en kommun kan aldrig visas för en annan.",
      "summary_en": "In Givkraft each municipality has its own isolated instance at its own address; data from one municipality is never shown to another.",
      "status": "available",
      "audience": [
        "IT och informationssäkerhet",
        "Upphandlare"
      ],
      "url": "https://givkraft.se/funktioner/kommunens-egen-instans",
      "api_endpoints": [
        "/api/v1/municipalities/current/"
      ],
      "updated_at": "2026-11-12"
    },
    {
      "id": "api-och-integrationer",
      "name_sv": "API och integrationer",
      "name_en": "API and integrations",
      "summary_sv": "Givkraft har ett öppet, dokumenterat och versionerat API (OpenAPI), så att allt i tjänsten kan nås av kommunens egna system, ett eget gränssnitt eller en AI-agent.",
      "summary_en": "Givkraft has a documented, versioned API (OpenAPI 3) covering the whole service, usable by the municipality’s own systems, its own frontend or an AI agent.",
      "status": "available",
      "audience": [
        "IT och utvecklare",
        "Upphandlare"
      ],
      "url": "https://givkraft.se/funktioner/api-och-integrationer",
      "api_endpoints": [
        "/api/v1/schema/",
        "/api/v1/docs/"
      ],
      "updated_at": "2026-11-12"
    }
  ],
  "planned": [
    {
      "name_sv": "Egen webbplats med block och sidor",
      "name_en": "Own public site with blocks and pages",
      "summary_sv": "Kommunen bygger sin volontärsida av färdiga block, med egna sidor och ett tillgängligt tema.",
      "status": "planned"
    },
    {
      "name_sv": "Egen domän",
      "name_en": "Custom domain",
      "summary_sv": "Kommunens volontärsida på kommunens egen adress, till exempel volontar.kommun.se.",
      "status": "planned"
    },
    {
      "name_sv": "Eget gränssnitt med startmall",
      "name_en": "Own frontend starter template",
      "summary_sv": "En startmall för kommuner som vill bygga ett helt eget gränssnitt på API:t.",
      "status": "planned"
    },
    {
      "name_sv": "Inloggning med BankID",
      "name_en": "BankID login",
      "summary_sv": "Inloggning och identifiering med BankID.",
      "status": "planned"
    },
    {
      "name_sv": "Tvåfaktorsinloggning",
      "name_en": "Two-factor authentication",
      "summary_sv": "Ett andra steg vid inloggning för handläggare.",
      "status": "planned"
    },
    {
      "name_sv": "Flerspråkigt gränssnitt",
      "name_en": "Multilingual interface",
      "summary_sv": "Gränssnitt på engelska, arabiska och somaliska. Innehållsmodellen stöder redan de fyra språken.",
      "status": "planned"
    },
    {
      "name_sv": "Tidrapportering",
      "name_en": "Hour tracking",
      "summary_sv": "Volontärtimmar per engagemang för uppföljning och statistik.",
      "status": "planned"
    }
  ]
}