Logo

User Guide

  • Raccoon Survey User Guide
    • Start Here
      • Create Surveys
        • Prerequisites
        • Steps
        • Illustrations
        • Step 1 — Go to the Surveys page.
        • Step 2 — Click the new survey button.
        • Step 3 — Fill in the modal with the survey details.
        • Step 4 — Create the questions for the survey.
        • Step 5 — Click the save button.
        • Once saved, the survey is available to generate tokens and distribute them.
      • Generating access tokens
        • Prerequisites
        • Steps
        • Illustrations.
        • Step 1 — Go to the Reports page.
        • Step 2 — Select a survey to generate tokens for.
        • Step 3 — Choose the quantity and expiration date for the tokens.
        • Step 4 — Generate the tokens.
        • Step 5 — Export the tokens through a CSV file.
        • Best practices
      • Token Distribution Guide
        • Prerequisites
        • Distribution Channels
        • Secure Procedure
        • Usage Overview
        • Illustrations
        • Step 1 — Access via the survey token URL
        • Step 2 — Answer the survey questions
        • Step 3 — Submit the survey
        • Step 4 — Finish
      • Reports and Metrics
        • Prerequisites
        • Steps
        • Illustrations
        • Step 1 — Choose the survey for which you want to generate reports
        • Step 2 — Filter reports by date range (optional)
        • Step 3 — Click the “Export CSV” button
        • Step 4 — Download the CSV file
        • Related Chapters
      • Survey Metrics
        • Survey Indicators
        • Illustrations
      • Frequently Asked Questions (FAQ)
        • How do I create my first survey?
        • How do I distribute access tokens?
        • Can I integrate an external system?
        • Where can I see the results?
        • What should I do with 401/403 errors?

Internal Documentation

  • OpenAPI (Swagger)
  • Modules
    • Core
      • create_app()
      • BaseConfig
        • BaseConfig.CLEANUP_CRON_HOUR
        • BaseConfig.CLEANUP_CRON_MINUTE
        • BaseConfig.CLEANUP_RUN_ON_START
        • BaseConfig.CORS_ORIGINS
        • BaseConfig.DATABASE_ECHO
        • BaseConfig.DATABASE_URL
        • BaseConfig.DEBUG
        • BaseConfig.DEFAULT_USER_ADMIN_EMAIL
        • BaseConfig.DEFAULT_USER_ADMIN_NAME
        • BaseConfig.DEFAULT_USER_ADMIN_PASSWORD
        • BaseConfig.ENV
        • BaseConfig.JSON_SORT_KEYS
        • BaseConfig.JWT_ACCESS_TOKEN_EXPIRES
        • BaseConfig.JWT_HEADER_NAME
        • BaseConfig.JWT_HEADER_TYPE
        • BaseConfig.JWT_REFRESH_TOKEN_EXPIRES
        • BaseConfig.JWT_SECRET_KEY
        • BaseConfig.JWT_TOKEN_LOCATION
        • BaseConfig.SQLALCHEMY_DATABASE_URI
        • BaseConfig.SQLALCHEMY_ENGINE_OPTIONS
        • BaseConfig.SQLALCHEMY_TRACK_MODIFICATIONS
        • BaseConfig.TESTING
      • DevConfig
        • DevConfig.DEBUG
        • DevConfig.ENV
      • ProdConfig
        • ProdConfig.DEBUG
        • ProdConfig.ENV
      • TestConfig
        • TestConfig.DEBUG
        • TestConfig.ENV
        • TestConfig.TESTING
      • get_config_class()
    • Routes (API)
      • register_routes()
      • openapi_spec()
      • login()
      • logout()
      • me()
      • refresh()
      • resolve_anonymous()
      • submit_anonymous()
      • cleanup_tokens()
      • dashboard_metrics()
      • change_question_state()
      • create_question()
      • get_question()
      • list_questions()
      • serialize_question()
      • update_question()
      • export_reports()
      • survey_summary()
      • team_summary()
      • change_survey_state()
      • create_survey()
      • get_survey()
      • list_surveys()
      • serialize_survey()
      • update_survey()
      • change_team_state()
      • create_team()
      • get_team()
      • list_teams()
      • serialize_team()
      • update_team()
      • export_tokens()
      • generate_tokens()
      • list_tokens()
    • Services
      • build_claims()
      • check_password()
      • create_tokens()
      • profile_from_jwt()
      • refresh_access_token()
      • revoke_token()
      • verify_user_active_role()
      • is_token_revoked()
      • revoke_token()
      • get_dashboard_metrics()
      • create_question()
      • get_question()
      • list_questions()
      • set_question_state()
      • update_question()
      • export_summary_csv()
      • get_survey_summary()
      • get_team_summary()
      • get_anonymous_survey()
      • submit_anonymous_responses()
      • create_survey()
      • deactivate_expired_surveys()
      • get_survey()
      • list_surveys()
      • set_survey_state()
      • update_survey()
      • create_team()
      • get_team()
      • list_teams()
      • set_team_state()
      • update_team()
      • cleanup_expired_tokens()
      • export_tokens_csv()
      • generate_tokens_for_survey()
      • is_token_valid_for_submission()
      • list_tokens()
      • mark_token_used()
    • Models
      • AuditLog
        • AuditLog.action
        • AuditLog.changed_by_user
        • AuditLog.changed_by_user_id
        • AuditLog.created_at
        • AuditLog.entity_id
        • AuditLog.entity_type
        • AuditLog.id
        • AuditLog.ip_address
        • AuditLog.metadata_
        • AuditLog.new_data
        • AuditLog.previous_data
        • AuditLog.triggered_by
      • Category
        • Category.created_at
        • Category.description
        • Category.id
        • Category.name
        • Category.question_categories
        • Category.state
      • Question
        • Question.created_at
        • Question.id
        • Question.is_required
        • Question.options
        • Question.order_position
        • Question.responses
        • Question.state
        • Question.survey
        • Question.survey_id
        • Question.text
        • Question.type
      • QuestionCategory
        • QuestionCategory.assigned_by_user
        • QuestionCategory.assigned_by_user_id
        • QuestionCategory.category
        • QuestionCategory.category_id
        • QuestionCategory.created_at
        • QuestionCategory.id
        • QuestionCategory.question
        • QuestionCategory.question_id
      • Response
        • Response.answer
        • Response.created_at
        • Response.id
        • Response.question
        • Response.question_id
        • Response.state
        • Response.survey_token
        • Response.survey_token_id
      • Role
        • Role.created_at
        • Role.description
        • Role.id
        • Role.name
        • Role.state
        • Role.users
      • Survey
        • Survey.created_at
        • Survey.created_by_user
        • Survey.created_by_user_id
        • Survey.description
        • Survey.expires_at
        • Survey.id
        • Survey.is_anonymous
        • Survey.questions
        • Survey.state
        • Survey.team
        • Survey.team_id
        • Survey.title
        • Survey.tokens
      • SurveyToken
        • SurveyToken.created_at
        • SurveyToken.employee_identifier
        • SurveyToken.expires_at
        • SurveyToken.id
        • SurveyToken.is_used
        • SurveyToken.responses
        • SurveyToken.survey
        • SurveyToken.survey_id
        • SurveyToken.team
        • SurveyToken.team_id
        • SurveyToken.token
        • SurveyToken.used_at
      • Team
        • Team.created_at
        • Team.description
        • Team.id
        • Team.name
        • Team.state
        • Team.survey_tokens
        • Team.surveys
        • Team.users
      • User
        • User.created_at
        • User.created_surveys
        • User.email
        • User.id
        • User.name
        • User.password_hash
        • User.role
        • User.role_id
        • User.state
        • User.team
        • User.team_id
    • Middlewares
      • role_required()
      • user_required()
    • Extensions
      • create_scheduler()
      • start_scheduler()
    • Database
  • Security Policy
    • Direct policy content (from SECURITY.md):
      • Raccoon Survey Security Policy
        • Vulnerability Reporting
        • Response Times
        • Scope
        • Out of Scope
        • Safe Harbor and Responsible Disclosure
        • Recommended Practices (Project-Specific)
        • Supported Versions
        • References
    • Notes
  • Security Guide (Internal)
    • Embedded reference (from Security/README.md):
      • Security
        • Table of Contents
        • Overview
        • Security Coverage
        • Backend
        • Frontend
        • Troubleshooting
    • Related
  • CI/CD - Tests
    • Overview
    • Monitored branches
    • Sample workflow
    • Main steps
    • Customization
  • Testing Guide
    • Summary
    • Requirements
    • Installation
    • Full Run
    • Subsets
    • Structure
    • Key helpers
    • Environment Config
Raccoon Survey
  • Search


© Copyright 2025, Raccoon Survey Team.

Built with Sphinx using a theme provided by Read the Docs.